Distributed file system for cloud: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Add: url. | Use this bot. Report bugs. | Suggested by Whoop whoop pull up | #UCB_toolbar
Line 114:
High performance of distributed file systems requires efficient communication between computing nodes and fast access to the storage systems. Operations such as open, close, read, write, send, and receive need to be fast, to ensure that performance. For example, each read or write request accesses disk storage, which introduces seek, rotational, and network latencies.<ref>{{harvnb|Upadhyaya|Azimov|Doan|Choi|2008|p=400}}</ref>
 
The data communication (send/receive) operations transfer data from the application buffer to the machine kernel, [[Transmission Control Protocol|TCP]] controlling the process and being implemented in the kernel. However, in case of network congestion or errors, TCP may not send the data directly. While transferring data from a buffer in the [[Kernelkernel (computingoperating system)|kernel]] to the application, the machine does not read the byte stream from the remote machine. In fact, TCP is responsible for buffering the data for the application.<ref>{{harvnb|Upadhyaya|Azimov|Doan|Choi|2008|p=403}}</ref>
 
Choosing the buffer-size, for file reading and writing, or file sending and receiving, is done at the application level. The buffer is maintained using a [[Linked list|circular linked list]].<ref>{{harvnb|Upadhyaya|Azimov|Doan|Choi|2008|p=401}}</ref> It consists of a set of BufferNodes. Each BufferNode has a DataField. The DataField contains the data and a pointer called NextBufferNode that points to the next BufferNode. To find the current position, two [[Pointer (computer programming)|pointers]] are used: CurrentBufferNode and EndBufferNode, that represent the position in the BufferNode for the last write and read positions.