Granularity is the extent to which a system is broken down into small parts, either the system itself or its description or observation. It is the "extent to which a larger entity is subdivided. For example, a yard broken into inches has finer granularity than a yard broken into feet."
Coarse-grained systems consist of fewer, larger components than fine-grained systems; a coarse-grained description of a system regards large subcomponents while a fine-grained description regards smaller components of which the larger ones are composed.
The terms granularity, coarse and fine are relative, used when comparing systems or descriptions of systems. An example of increasingly fine granularity: a list of nations in the United Nations, a list of all states/provinces in those nations, a list of all counties in those states, etc.
The terms "fine" and "coarse" are used consistently across fields, but the term "granularity" itself is not. For example, in investing, "more granularity" refers to more positions of smaller size, while photographic film that is "more granular" has fewer and larger chemical "grains".
A fine-grained description of a system is a detailed, low-level model of it. A coarse-grained description is a model where some of this fine detail has been smoothed over or averaged out. The replacement of a fine-grained description with a lower-resolution coarse-grained model is called coarse graining. (See for example the second law of thermodynamics)
In molecular dynamics
In molecular dynamics, coarse graining consists in replacing an atomistic description of a biological molecule with a lower-resolution coarse-grained model that averages or smooths away fine details. Coarse-grained models have been developed for investigating the longer time- and length-scale dynamics that are critical to many biological processes, such as lipid membranes and proteins.
In parallel computing, granularity means the amount of computation in relation to communication, i.e., the ratio of computation to the amount of communication.
Fine-grained parallelism means individual tasks are relatively small in terms of code size and execution time. The data are transferred among processors frequently in amounts of one or a few memory words. Coarse-grained is the opposite: data are communicated infrequently, after larger amounts of computation.
The finer the granularity, the greater the potential for parallelism and hence speed-up, but the greater the overheads of synchronization and communication.
In order to attain the best parallel performance, the best balance between load and communication overhead needs to be found. If the granularity is too fine, the performance can suffer from the increased communication overhead. On the other side, if the granularity is too coarse, the performance can suffer from load imbalance.
In reconfigurable computing and supercomputing
In reconfigurable computing and in supercomputing these terms refer to the data path width. The use of about one bit wide processing elements like the configurable logic blocks (CLBs) in an FPGA is called fine-grained computing or fine-grained reconfigurability, whereas using wide data paths, such as, for instance 32 bits wide resources, like microprocessor CPUs or data-stream-driven data path units (DPUs) like in a reconfigurable datapath array (rDPA) is called coarse-grained computing coarse-grained reconfigurability.
The granularity of data refers to the fineness with which data fields are sub-divided. For example, a postal address can be recorded, with low granularity, as one field:
- address = 200 2nd Ave. South #358, St. Petersburg, FL 33701-4313 USA
or with high granularity, as many fields:
- street address = 200 2nd Ave. South #358
- city = St. Petersburg
- postal code = FL 33701-4313
- country = USA
or even higher granularity:
- street number = 200
- street = 2nd Ave. South #358
- city = St. Petersburg
- postal code state = FL
- postal-code-first-part = 33701
- postal-code-second-part = 4313
- country = USA
Higher granularity has overheads for data input and storage, but offers benefits in flexibility of data processing.
In credit portfolio risk management
In credit portfolio risk modeling, granularity refers to the number of the exposures in the portfolio. The higher the granularity, the more positions are in a credit portfolio, providing a higher degree of size diversification, which in turn reduces concentration risk. This is colloquially known as "not putting all your eggs in one basket".
In photographic film
In photography, granularity is a measure of film grain. It is measured using a particular standard procedure but in general a larger number means the grains of silver are larger and there are fewer grains in a given area.
The concept of granularity is starting to be used also in domains other than physics. For example, in business it has been written about in the book, The Granularity of Growth: Making choices that drive enduring company performance. Its authors (Viguerie, Smit, and Baghai) say that there’s a problem with the broad-brush way that many companies describe their business opportunities. They argue that real opportunities for company growth can emerge only from a much finer understanding of market segments, their needs, and the capabilities required to serve them well than is typically done. According to the authors, to uncover these small “pockets of opportunity,” executives need to dig down to a deeper level of their organization, which in large companies introduces the challenge of making broad choices at a refined “granular level” without losing focus.
At a September 2006 White House press briefing, presidential press secretary Tony Snow responded to a question about an asserted link that had existed between Saddam Hussein and al Qaeda terrorist Abu Musab al-Zarqawi. Snow said that Bush indicated there was "no operational relationship" between Zarqawi and Saddam but added, "we just don’t have that kind of granularity in terms of the relationship. And, therefore, we’re not going to outrun the facts."
- Granular computing
- Multiple granularity locking
- Particle size (geology)