| Small data write refers to the case that the amount of data written to file systems is much smaller than the file system block size.In reality,many small data is written in a synchronous way for persistence,and widely exists in a variety of environments.For the past decades,the computer storage community has been hampered by a dilemma.On the one hand,in order to improve the efficiency of storage devices,file system is in favor of using a large data block as an access unit,so that each I / O operation can transfer more data.On the other hand,The block interface for small data synchronious access could cause a serious write amplification problem,the larger the block size,the more serious the write,as a result,wasting the precious I/O bandwidth.In view of the above dilemma,this paper proposes a scheduler called "Hitchhike",which uses write-back technology to cache small data,and collect small data into a large data block,and then write back at once.Also,by leveraging the data embedding technology,it guarantees the synchronization in small data writes.With Hitchhike,we can not only get rid of the write amplification problem,but also filfull the requirements of synchronous writes in an asynchronous way.In order to collect the small data,we introduce a write-back buffer in the Hitchhike I / O scheduler and implement the method to identify the small data based on the write-back cache.In thesis,we implement a prototype of Hitchhike and compare it with other I/O schedulers such as the Deadline scheduler and the CFQ scheduler in a empirical study.We can found that the scheduler proposed in this thesis can effectively improve the performance of small data synchronous write with relative small overhead. |