Information Technology Reference
In-Depth Information
To maintain integrity despite unpredictable failures, sequencing constraints must be imple-
mented when dirty blocks are moved into storage. To do this, the soft updates mechanism
creates and maintains dependency information to keep track of sequencing requirements.
This dependency information is associated with dirty in-memory copies of metadata. During
metadata update, the in-memory copy of a certain block is modified normally and then its cor-
responding memory information is appropriately updated. So whenever these dirty in-memory
blocks are flushed or saved to disk, the dependency information is consulted.
Dependency information is heavily maintained per field pointer to achieve fine granularity.
When there are updates, both before and after versions are kept together with a list contain-
ing all other updates that specific updates depend on.
Caching
As has been mentioned, disk mechanical performance are leagues slower than digital
processing performance, so they introduce some very large bottlenecks to the system,
especially in the file system, which almost exclusively manages files and hence disk
operations. If data is constantly updated on the disk whenever an application or a user
accesses it, the system would spend its time waiting for the disk I/O to finish and would
have less time to do anything else. Small and frequent writes to disk all carry overhead
associated with seeking and allocation of segments, and because each operation has this
overhead, it tends to pile up. In cloud computing circumstances where data is the main
process driver, a lot of file system interaction and disk writing, and hence a lot of seek-
ing and writing, are involved. In this case, caching is a good way to increase file system
performance.
A cache is basically a part of memory where data that needs constant access is kept or
data that is perceived to be needed soon is prefetched and kept; this is also a place where
backlogged data for future writing is accumulated, in what is called a write back . In a write
back, modified blocks are marked to be written into disk later, which enables batching I/O
operations, saving on disk overhead. But the main problem is that when a crash occurs, all
the data in the cache is wiped out so the longer write backs are postponed, increasing the
risk involved for damage relating to a crash. The upside is increased speed.
Write backs should be done when the following actions occur:
When a block, sector, or node is evicted
When a file is closed so all data should be written immediately
On an explicit or force flush of the cache
When memory is running low to prevent a forced write back through memory reclama-
tion, which is quite slow
Search WWH ::




Custom Search