FACTOID # 86: Mexican women spend 15.3% of their life in ill health.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > File system fragmentation

In computing, file system fragmentation, sometimes called file system aging, is the inability of a file system to lay out related data sequentially (contiguously), an inherent phenomenon in storage-backed file systems that allow in-place modification of their contents. It is a special case of data fragmentation. File system fragmentation introduces disk head seeks which are known to hinder throughput. In computing, a file system is a method for storing and organizing computer files and the data they contain to make it easy to find and access them. ... In computer storage, there are three related uses of the term fragmentation: external fragmentation, internal fragmentation, and data fragmentation, all related to storage. ... This article or section does not cite its references or sources. ... In computer storage, there are three related uses of the term fragmentation: external fragmentation, internal fragmentation, and data fragmentation, all related to storage. ... In information technology, throughput is the rate at which a computer or network sends or receives data. ...

Contents

Why fragmentation matters

File system fragmentation is projected to become more problematic with newer hardware due to the increasing disparity between sequential access speed and rotational delay (and to a lesser extent seek time), of consumer-grade hard disks,[1] which file systems are usually placed on. Thus, fragmentation is an important problem in recent file system research and design. The containment of fragmentation not only depends on the on-disk format of the file system, but also heavily on its implementation.[2] Rotational delay is a term from computing applicable to rotating storage devices (such as a typical hard disk or floppy disk drive but also the older drum memory systems). ... Seek time is one of the several delays associated with reading or writing data on a computers disk drive. ... Typical hard drives of the mid-1990s. ...


In simple file system benchmarks, the fragmentation factor is often omitted, as realistic aging and fragmentation is difficult to model. Rather, for simplicity of comparison, file system benchmarks are often run on empty file systems, and unsurprisingly, the results may vary heavily from real-life access patterns.[3] In computing, a benchmark is the result of running a computer program, a set of programs, or other operations, in order to assess the relative performance of an object, by running a number of standard tests and trials against it. ...


Types of fragmentation

File system fragmentation may occur on several levels:

  • Fragmentation within individual files and their metadata.
  • Free space fragmentation, making it increasingly difficult to lay out new files contiguously.
  • The decrease of locality of reference between separate, but related files.

A computer file is a collection of information that is stored in a computer system and can be identified by its full path name. ... Metadata (Greek meta after and Latin data information) are data that describe other data. ... It has been suggested that Memory locality be merged into this article or section. ...

File fragmentation

Individual file fragmentation occurs when a single file has been broken into multiple pieces (called extents on extent-based file systems). While disk file systems attempt to keep individual files contiguous, this is not often possible without significant performance penalties. An extent is a contiguous area of storage in a computer file system, reserved for a file. ...


Free space fragmentation

Free (unallocated) space fragmentation occurs when there are several unused areas of the file system where new files or metadata can be written to. Unwanted free space fragmentation is generally caused by deletion or truncation of files, but file systems may also intentionally insert fragments ("bubbles") of free space in order to facilitate extending nearby files (see proactive techniques below).


Related file fragmentation

Related file fragmentation refers to the lack of locality of reference between related files. Unlike the previous two types of fragmentation, related file fragmentation is a much more vague concept, as it heavily depends on the access pattern of specific applications. This also makes objectively measuring or estimating it very difficult. However, arguably, it is the most critical type of fragmentation, as studies have found that the most frequently accessed files tend to be small compared to available disk throughput per second.[4] It has been suggested that Memory locality be merged into this article or section. ...


To avoid related file fragmentation and improve locality of reference, assumptions about the operation of applications have to be made. A very frequent assumption made is that it is worthwhile to keep smaller files within a single directory together, and lay them out in the natural file system order. While it is often a reasonable assumption, it does not always hold. For example, an application might read several different files, perhaps in different directories, in the exact same order they were written. Thus, a file system that simply orders all writes successively, might work faster for the given application. In computing, a directory, catalog or folder,[1] is an entity in a file system which contains a group of files and/or other directories. ...


Techniques for mitigating fragmentation

Several techniques have been developed to fight fragmentation. They can usually be classified into two categories: proactive and retroactive. Due to the hard predictability of access patterns, these techniques are most often heuristic in nature, and may degrade performance under unexpected workloads. In computer science, besides the common use as rule of thumb (see heuristic), the term heuristic has two well-defined technical meanings. ...


Proactive techniques

Proactive techniques attempt to keep fragmentation at a minimum at the time data is being written on the disk. The simplest of such is, perhaps, appending data to an existing fragment in place where possible, instead of allocating new blocks to a new fragment.


Many today's file systems attempt to preallocate longer chunks, or chunks from different free space fragments, called extents to files that are actively appended to. This mainly avoids file fragmentation when several files are concurrently being appended to, thus avoiding them from becoming excessively intertwined.[2] An extent is a contiguous area of storage in a computer file system, reserved for a file. ...


A relatively recent technique is delayed allocation in XFS and ZFS; the same technique is also called allocate-on-flush in reiser4 and ext4. This means that when the file system is being written to, file system blocks are reserved, but the locations of specific files are not laid down yet. Later, when the file system is forced to flush changes as a result of memory pressure or a transaction commit, the allocator will have much better knowledge of the files' characteristics. Most file systems with this approach try to flush files in a single directory contiguously. Assuming that multiple reads from a single directory are common, locality of reference is improved.[5] Reiser4 also orders the layout of files according to the directory hash table, so that when files are being accessed in the natural file system order (as dictated by readdir), they are always read sequentially.[6] Delayed allocation is a feature of computer file systems, currently only implemented in SGI XFS. (Reiser4 has a similar feature called allocate-on-flush.) When file data is written, the appropriate amount of disk space is subtracted from free-space counter but actual blocks (or extents) are not allocated. ... XFS is a high-performance journaling file system created by Silicon Graphics for their IRIX operating system. ... ZFS, is a free, open-source file system produced by Sun Microsystems for its Solaris Operating System. ... Reiser4 is a computer file system, a new from scratch successor to the ReiserFS file system, developed by Namesys and sponsored by DARPA as well as Linspire. ... The ext4, or fourth extended filesystem is a journalled file system that was revealed on October 10, 2006 by Andrew Morton as a compatible improvement to the ext3, featuring support for volumes up to 1024 petabytes and added extent (allocation of an area for a file to use) support. ... In computer science, a hash table is a data structure that speeds up searching for information by a particular aspect of that information, called a key. ...


Retroactive techniques

Retroactive techniques attempt to reduce fragmentation, or the negative effects of fragmentation, after it has occurred. Many file systems provide defragmentation tools, which attempt to reorder fragments of files, and often also increase locality of reference by keeping smaller files in directories, or directory trees, close to each another on the disk. Some file systems, such as HFS Plus, utilize idle time to defragment data on the disk in the background. In the context of administering computer systems, defragmentation (or defragging) is a process that eliminates fragmentation in file systems. ... It has been suggested that Memory locality be merged into this article or section. ... In computing, a directory, catalog or folder,[1] is an entity in a file system which contains a group of files and/or other directories. ... HFS Plus or HFS+ is a file system developed by Apple Computer to replace their Hierarchical File System (HFS) as the primary file system used on Macintosh computers. ...


See also

In computer storage, there are three related uses of the term fragmentation: external fragmentation, internal fragmentation, and data fragmentation, all related to storage. ... In the context of administering computer systems, defragmentation (or defragging) is a process that eliminates fragmentation in file systems. ... It has been suggested that Memory locality be merged into this article or section. ...

References

  1. ^ Dr. Mark H. Kryder (2006-04-03). "Future Storage Technologies: A Look Beyond the Horizon" (PDF). Storage Networking World conference, Seagate Technology. Retrieved on 2006-12-14.
  2. ^ a b L. W. McVoy, S. R. Kleiman (1991 winter). "Extent-like Performance from a UNIX File System" (PostScript). Proceedings of USENIX winter '91, pages 33–43, Dallas, Texas: Sun Microsystems, Inc.. Retrieved on 2006-12-14.
  3. ^ Keith Arnold Smith (2001-01). "Workload-Specific File System Benchmarks" (PDF). Harvard University. Retrieved on 2006-12-14.
  4. ^ John R. Douceur, William J. Bolosky (1999-06). "A Large-Scale Study of File-System Contents" (PDF). ACM SIGMETRICS Performance Evaluation Review volume 27 (issue 1): pages 59–70. Retrieved on 2006-12-14.
  5. ^ Adam Sweeney, Doug Doucette, Wei Hu, Curtis Anderson, Mike Nishimoto, Geoff Peck (1996-01). "Scalability in the XFS File System" (PDF). Proceedings of the USENIX 1996 Annual Technical Conference, San Diego, California: Silicon Graphics. Retrieved on 2006-12-14.
  6. ^ Hans Reiser (2006-02-06). The Reiser4 Filesystem (Google Video). A lecture given by the author, Hans Reiser. Retrieved on 2006-12-14.


 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m