622
M. Delfino
standard 32 is the most often used definition of this behavior. The implementations
are far from trivial, but fortunately they are widely used and hence available as
packages fully supported by operating systems, or even as part of the operating
system. These protocols support operations such as simultaneous access by
multiple users in read/write/append mode as well as record-level locking. This
forces the deployment in CPU servers of some Control and Information server
functionality, with information being constantly exchanged between all nodes
accessing a mount point in order to keep file system coherency and distribute
lock information. In order to fulfill performance expectations, these Control and
Information functionalities must often be implemented as drivers, often executing
inside the operating system kernel. The price of this is the risk of all CPU
servers becoming inoperative (or “hung”) if a network file server has a fault or
the status information becomes corrupted. Some Network File servers, such as
the CernVM-FS 33 system used for software installation, serve very specialized
purposes. They implement only part of the functionalities, for example serving
files only in read-only mode, with the benefit of having a smaller impact on the
operating system environment.
• “Database servers”, are disk servers 34 which organize their data using database
products such as Oracle, MySQL or PostgreSQL. They are mostly used to store
and manage detector configuration and calibration data, though on occasion
they can store high-level analysis data such as the “Event Tags” used by some
experiments. 35 CPU servers read these data through the network by issuing
database queries and retrieving the results. Database servers must be configured
in accordance to the type of most-often used queries (a process called “tuning”) in
order to achieve the required performance. Because the overall cost of purchasing
and maintaining a Database server is high, situations often arise where the
deployed capacity is insufficient to serve all the CPU servers unless specific
caches or buffers 36 are deployed. An emerging alternative type of database
32 Gallmeister, Bill. POSIX. 4 Programmers Guide: Programming for the real world. “O’Reilly
Media, Inc.”, 1995.
33 Blomer, Jakob, et al. “Status and future perspectives of CernVM-FS.” Journal of Physics:
Conference Series. Vol. 396. No. 5. IOP Publishing, 2012.
34 It may seem odd to classify a database server as a Disk server. It is considered correct in this
context, as their usage pattern is unusual in that the record update frequency is very low compared
to the record reading frequency. Note that the technical database servers used to implement Data
and Tape server features are considered Information servers.
35 See for example Cranshaw, Jack, et al. “Event selection services in ATLAS.” Journal of Physics:
Conference Series. Vol. 219. No. 4. IOP Publishing, 2010.
36 The term “buffer” is used in computer architecture to mean “temporary storage location”. Buffers
are used to accumulate information and then transmit it as a block, or to receive information as a
block and then distribute it. The difference between a buffer and a cache is that in the case of
buffers all the information is temporarily stored, whereas a cache implements an algorithm to store
only the most relevant information. In addition, whereas a cache is always transparent, a buffer
may be transparent or it may allow explicit buffer manipulation by the application.
M. Delfino
standard 32 is the most often used definition of this behavior. The implementations
are far from trivial, but fortunately they are widely used and hence available as
packages fully supported by operating systems, or even as part of the operating
system. These protocols support operations such as simultaneous access by
multiple users in read/write/append mode as well as record-level locking. This
forces the deployment in CPU servers of some Control and Information server
functionality, with information being constantly exchanged between all nodes
accessing a mount point in order to keep file system coherency and distribute
lock information. In order to fulfill performance expectations, these Control and
Information functionalities must often be implemented as drivers, often executing
inside the operating system kernel. The price of this is the risk of all CPU
servers becoming inoperative (or “hung”) if a network file server has a fault or
the status information becomes corrupted. Some Network File servers, such as
the CernVM-FS 33 system used for software installation, serve very specialized
purposes. They implement only part of the functionalities, for example serving
files only in read-only mode, with the benefit of having a smaller impact on the
operating system environment.
• “Database servers”, are disk servers 34 which organize their data using database
products such as Oracle, MySQL or PostgreSQL. They are mostly used to store
and manage detector configuration and calibration data, though on occasion
they can store high-level analysis data such as the “Event Tags” used by some
experiments. 35 CPU servers read these data through the network by issuing
database queries and retrieving the results. Database servers must be configured
in accordance to the type of most-often used queries (a process called “tuning”) in
order to achieve the required performance. Because the overall cost of purchasing
and maintaining a Database server is high, situations often arise where the
deployed capacity is insufficient to serve all the CPU servers unless specific
caches or buffers 36 are deployed. An emerging alternative type of database
32 Gallmeister, Bill. POSIX. 4 Programmers Guide: Programming for the real world. “O’Reilly
Media, Inc.”, 1995.
33 Blomer, Jakob, et al. “Status and future perspectives of CernVM-FS.” Journal of Physics:
Conference Series. Vol. 396. No. 5. IOP Publishing, 2012.
34 It may seem odd to classify a database server as a Disk server. It is considered correct in this
context, as their usage pattern is unusual in that the record update frequency is very low compared
to the record reading frequency. Note that the technical database servers used to implement Data
and Tape server features are considered Information servers.
35 See for example Cranshaw, Jack, et al. “Event selection services in ATLAS.” Journal of Physics:
Conference Series. Vol. 219. No. 4. IOP Publishing, 2010.
36 The term “buffer” is used in computer architecture to mean “temporary storage location”. Buffers
are used to accumulate information and then transmit it as a block, or to receive information as a
block and then distribute it. The difference between a buffer and a cache is that in the case of
buffers all the information is temporarily stored, whereas a cache implements an algorithm to store
only the most relevant information. In addition, whereas a cache is always transparent, a buffer
may be transparent or it may allow explicit buffer manipulation by the application.
