Content deleted Content added
Citation bot (talk | contribs) Add: url. | Use this bot. Report bugs. | Suggested by Whoop whoop pull up | #UCB_toolbar |
Disambiguated: Kernel (computing) → kernel (operating system) |
||
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 [[
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.
|