Granularity (also called graininess), the condition of existing in
granules or
grains
A grain is a small, hard, dry fruit (caryopsis) – with or without an attached hull layer – harvested for human or animal consumption. A grain crop is a grain-producing plant. The two main types of commercial grain crops are cereals and legume ...
, refers to the extent to which a material or
system
A system is a group of Interaction, interacting or interrelated elements that act according to a set of rules to form a unified whole. A system, surrounded and influenced by its environment (systems), environment, is described by its boundaries, ...
is composed of
distinguishable pieces. It can either refer to the extent to which a larger entity is subdivided, or the extent to which groups of smaller indistinguishable entities have joined together to become larger distinguishable entities.
Precision and ambiguity
Coarse-grained materials or systems have fewer, larger discrete components than fine-grained materials or systems.
* A coarse-grained description of a system regards large subcomponents.
* A fine-grained description regards smaller components of which the larger ones are composed.
The concepts granularity, coarseness, and fineness are relative; and are used when comparing systems or descriptions of systems. An example of increasingly fine granularity: a list of nations in the
United Nations
The United Nations (UN) is an intergovernmental organization whose stated purposes are to maintain international peace and international security, security, develop friendly relations among nations, achieve international cooperation, and be ...
, a list of all states/provinces in those nations, a list of all cities in those states, etc.
Note that, although the modifying terms, ''fine'' and ''coarse'' are used consistently across all fields, the term ''granularity'' is not.
* In photography: ''more granular''
photographic film
Photographic film is a strip or sheet of transparent film base coated on one side with a gelatin photographic emulsion, emulsion containing microscopically small light-sensitive silver halide crystals. The sizes and other characteristics of th ...
has fewer and larger
chemical "grains"
* In food industry: ''more granular'' sugar has fewer and larger grains.
Physics
A ''fine-grained'' description of a system is a detailed, exhaustive, 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)
Molecular dynamics
In
molecular dynamics
Molecular dynamics (MD) is a computer simulation method for analyzing the physical movements of atoms and molecules. The atoms and molecules are allowed to interact for a fixed period of time, giving a view of the dynamic "evolution" of the ...
,
coarse graining
Granularity (also called graininess), the condition of existing in granular material, granules or Grain, grains, refers to the extent to which a material or system is composed of distinction (philosophy), distinguishable pieces. It can either re ...
consists of 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. These concepts not only apply to biological molecules but also inorganic molecules.
Coarse graining may remove certain
degrees of freedom
Degrees of freedom (often abbreviated df or DOF) refers to the number of independent variables or parameters of a thermodynamic system. In various scientific fields, the word "freedom" is used to describe the limits to which physical movement or ...
, such as the vibrational modes between two atoms, or represent the two atoms as a single particle. The ends to which systems may be coarse-grained is simply bound by the accuracy in the dynamics and structural properties one wishes to replicate. This modern area of research is in its infancy, and although it is commonly used in biological modeling, the analytic theory behind it is poorly understood.
Computing
In
parallel computing
Parallel computing is a type of computation in which many calculations or processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different fo ...
, granularity means the amount of
computation
Computation is any type of arithmetic or non-arithmetic calculation that follows a well-defined model (e.g., an algorithm).
Mechanical or electronic devices (or, historically, people) that perform computations are known as ''computers''. An es ...
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 is transferred among processors frequently in amounts of one or a few memory words. Coarse-grained is the opposite: data is 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.
FOLDOC
/ref>
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.
Reconfigurable computing and supercomputing
In reconfigurable computing
Reconfigurable computing is a computer architecture combining some of the flexibility of software with the high performance of hardware by processing with very flexible high speed computing fabrics like field-programmable gate arrays (FPGAs). Th ...
and in supercomputing
A supercomputer is a computer with a high level of performance as compared to a general-purpose computer. The performance of a supercomputer is commonly measured in floating-point operations per second (FLOPS) instead of million instructions ...
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
A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturinghence the term '' field-programmable''. The FPGA configuration is generally specified using a hardware de ...
is called fine-grained computing or fine-grained reconfigurability, whereas using wide data paths, such as, for instance, 32 bits wide resources, like microprocessor
A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
CPU
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
s or data-stream-driven data path units ( DPUs) like in a reconfigurable datapath array (rDPA
The Xputer is a design for a reconfigurable computer, proposed by computer scientist Reiner Hartenstein. Hartenstein uses various terms to describe the various innovations in the design, including config-ware, flow-ware, morph-ware, and "anti-mach ...
) is called coarse-grained computing or coarse-grained reconfigurability.
Data granularity
The ''granularity'' of data refers to the size in which data fields are sub-divided. For example, a postal address can be recorded, with ''coarse granularity'', as a single field:
# address = 200 2nd Ave. South #358, St. Petersburg, FL 33701-4313 USA
or with ''fine granularity'', as multiple fields:
# street address = 200 2nd Ave. South #358
# city = St. Petersburg
# state = FL
# postal code = 33701-4313
# country = USA
or even finer granularity:
# street = 2nd Ave. South
# address number = 200
# suite/apartment = #358
# city = St. Petersburg
# state = FL
# postal-code = 33701
# postal-code-add-on = 4313
# country = USA
Finer granularity has overheads for data input and storage. This manifests itself in a higher number of object
Object may refer to:
General meanings
* Object (philosophy), a thing, being, or concept
** Object (abstract), an object which does not exist at any particular time or place
** Physical object, an identifiable collection of matter
* Goal, an ai ...
s and methods
Method ( grc, μέθοδος, methodos) literally means a pursuit of knowledge, investigation, mode of prosecuting such inquiry, or system. In recent centuries it more often means a prescribed process for completing a task. It may refer to:
*Scien ...
in the object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pr ...
paradigm or more subroutine
In computer programming, a function or subroutine is a sequence of program instructions that performs a specific task, packaged as a unit. This unit can then be used in programs wherever that particular task should be performed.
Functions may ...
calls for procedural programming
Procedural programming is a programming paradigm, derived from imperative programming, based on the concept of the ''procedure call''. Procedures (a type of routine or subroutine) simply contain a series of computational steps to be carried ...
and parallel computing
Parallel computing is a type of computation in which many calculations or processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different fo ...
environments. It does however offer benefits in flexibility of data processing in treating each data field in isolation if required. A performance problem caused by excessive granularity may not reveal itself until scalability
Scalability is the property of a system to handle a growing amount of work by adding resources to the system.
In an economic context, a scalable business model implies that a company can increase sales given increased resources. For example, a ...
becomes an issue.
Photographic film
In photography, granularity is a measure of film grain
Film grain or granularity is the random optical texture of processed photographic film due to the presence of small particles of a metallic silver, or dye clouds, developed from silver halide that have received enough photons. While 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.
See also
* Complex system
A complex system is a system composed of many components which may interact with each other. Examples of complex systems are Earth's global climate, organisms, the human brain, infrastructure such as power grid, transportation or communication ...
s
* Complexity
Complexity characterises the behaviour of a system or model whose components interaction, interact in multiple ways and follow local rules, leading to nonlinearity, randomness, collective dynamics, hierarchy, and emergence.
The term is generall ...
* Cybernetics
Cybernetics is a wide-ranging field concerned with circular causality, such as feedback, in regulatory and purposive systems. Cybernetics is named after an example of circular causal feedback, that of steering a ship, where the helmsperson m ...
* Granular computing Granular computing (GrC) is an emerging computing paradigm of information processing that concerns the processing of complex information entities called "information granules", which arise in the process of data abstraction and derivation of knowl ...
* Granularity (parallel computing) In parallel computing, granularity (or grain size) of a task is a measure of the amount of work (or computation) which is performed by that task.
Another definition of granularity takes into account the communication overhead between multiple pro ...
* Dennett's three stances
* High- and low-level
High-level and low-level, as technical terms, are used to classify, describe and point to specific goals of a systematic operation; and are applied in a wide range of contexts, such as, for instance, in domains as widely varied as computer scienc ...
* Levels of analysis
* Meta-systems Meta-systems have several definitions. In general, they link the concepts "system" and "meta-". A "meta-system" is about other systems, such as describing, generalizing, modelling, or analyzing the other system(s).
According to Turchin and Joslyn ...
* Multiple granularity locking
In computer science, multiple granularity locking (MGL) is a locking method used in database management systems (DBMS) and relational databases.
In multiple granularity locking, locks are set on objects that contain other objects. MGL exploits t ...
* Particle size
Particle size is a notion introduced for comparing dimensions of solid particles ('' flecks''), liquid particles (''droplets''), or gaseous particles ('' bubbles''). The notion of particle size applies to particles in colloids, in ecology, in gr ...
* Self-organization
Self-organization, also called spontaneous order in the social sciences, is a process where some form of overall order arises from local interactions between parts of an initially disordered system. The process can be spontaneous when suffi ...
* Systems thinking
Systems thinking is a way of making sense of the complexity of the world by looking at it in terms of wholes and relationships rather than by splitting it down into its parts. It has been used as a way of exploring and developing effective actio ...
Notes
References
*
*{{Cite journal
, last1=Spacey , first1=S.
, last2=Luk , first2=W.
, last3=Kelly , first3=P. H. J.
, last4=Kuhn , first4=D.
, year=2012
, title=Improving Communication Latency with the Write-Only Architecture
, journal=Journal of Parallel and Distributed Computing
, volume=72 , issue=12 , pages=1617–1627
, doi=10.1016/j.jpdc.2012.08.007
Statistical mechanics
Business terms