Stop Thinking, Just Do!

Sungsoo Kim's Blog

Grid Computing

tagsTags

1 April 2014


Grid Computing

Grid computing is the collection of computer resources from multiple locations to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files. What distinguishes grid computing from conventional high performance computing systems such as cluster computing is that grids tend to be more loosely coupled, heterogeneous, and geographically dispersed.[1] Although a single grid can be dedicated to a particular application, commonly a grid is used for a variety of purposes. Grids are often constructed with general-purpose grid middleware software libraries.

Grid size varies a considerable amount. Grids are a form of distributed computing whereby a “super virtual computer” is composed of many networked loosely coupled computers acting together to perform large tasks. For certain applications, “distributed” or “grid” computing, can be seen as a special type of parallel computing that relies on complete computers (with onboard CPUs, storage, power supplies, network interfaces, etc.) connected to a network (private, public or the Internet) by a conventional network interface, such as Ethernet. This is in contrast to the traditional notion of a supercomputer, which has many processors connected by a local high-speed computer bus.


그리드 컴퓨팅(grid computing)은 최근 활발히 연구가 진행되고 있는 분산 병렬 컴퓨팅의 한 분야로서, 원거리 통신망(WAN, Wide Area Network)으로 연결된 서로 다른 기종의(heterogeneous) 컴퓨터들을 묶어 가상의 대용량 고성능 컴퓨터를 구성하여 고도의 연산 작업(computation intensive jobs) 혹은 대용량 처리(data intensive jobs)를 수행하는 것을 일컫는다.

그리드는 대용량 데이터에 대한 연산을 작은 소규모 연산들로 나누어 작은 여러대의 컴퓨터들로 분산시켜 수행한다는 점에서 클러스터 컴퓨팅의 확장된 개념으로 볼 수 있으나, WAN 상에서 서로 다른 기종의 머신들을 연결한다는 점으로 인해 클러스터 컴퓨팅에서는 고려되지 않았던 여러 가지 표준 규약들이 필요해졌고, 현재 글로버스(Globus) 프로젝트를 중심으로 표준들이 정립되고 있는 중이다. 또한 다양한 플랫폼을 서로 연결한다는 점에서 클러스터 컴퓨팅과 차이가 있다.

그리드 컴퓨팅은 네트워크에 연결된 수많은 사용되지 않고 있는 자원들 (예를 들면, 데스크톱 컴퓨터의 CPU 사이클, 디스크 저장장치 등)을 활용함으로써 대규모 연산이 필요한 문제들을 해결할 수 있게 해준다. 이는 재정 모델링(financial modeling)부터 단백질 접힘(protein folding), 지진 시뮬레이션(earthquake simulation), 기후 변화 모델링(climate, weather modeling)과 같은 자연과학 문제 해결에 이르기까지 매우 복잡한 연산이 필요한 문제를 해결 가능하게 해주는 컴퓨팅 자원을 제공해준다.

그리드는 기능 면에서 다음과 같이 분류될 수 있다.

  • 컴퓨팅 그리드(Computational Grid): 복잡한 연산을 수행하기 위해 CPU 훔치기(CPU scavenging/stealing)에 초점을 맞춘 것.
  • 데이터 그리드(Data Grid): 대용량의 분산 데이터를 공유하고 관리하는 것.
  • 액세스 그리드(Access Grid): 지리적으로 떨어진 곳에 있는 사용자들 간에 오디오와 비디오를 사용하여 업무 협력을 가능하게 하는 것.
  • 장비 그리드(Equipment Grid) 망원경등의 주요 장비를 원격 조정하며 장비로부터 얻은 데이터를 분석하는 것.

Overview

Grid computing combines computers from multiple administrative domains to reach a common goal,[2] to solve a single task, and may then disappear just as quickly.

One of the main strategies of grid computing is to use middleware to divide and apportion pieces of a program among several computers, sometimes up to many thousands. Grid computing involves computation in a distributed fashion, which may also involve the aggregation of large-scale clusters.

The size of a grid may vary from small—confined to a network of computer workstations within a corporation, for example—to large, public collaborations across many companies and networks. “The notion of a confined grid may also be known as an intra-nodes cooperation whilst the notion of a larger, wider grid may thus refer to an inter-nodes cooperation”.[3]

Grids are a form of distributed computing whereby a “super virtual computer” is composed of many networked loosely coupled computers acting together to perform very large tasks. This technology has been applied to computationally intensive scientific, mathematical, and academic problems through volunteer computing, and it is used in commercial enterprises for such diverse applications as drug discovery, economic forecasting, seismic analysis, and back office data processing in support for e-commerce and Web services.

Coordinating applications on Grids can be a complex task, especially when coordinating the flow of information across distributed computing resources. Grid workflow systems have been developed as a specialized form of a workflow management system designed specifically to compose and execute a series of computational or data manipulation steps, or a workflow, in the Grid context.

Comparison of grids and conventional supercomputers

“Distributed” or “grid” computing in general is a special type of parallel computing that relies on complete computers (with onboard CPUs, storage, power supplies, network interfaces, etc.) connected to a network (private, public or the Internet) by a conventional network interface producing commodity hardware, compared to the lower efficiency of designing and constructing a small number of custom supercomputers. The primary performance disadvantage is that the various processors and local storage areas do not have high-speed connections. This arrangement is thus well-suited to applications in which multiple parallel computations can take place independently, without the need to communicate intermediate results between processors.[4] The high-end scalability of geographically dispersed grids is generally favorable, due to the low need for connectivity between nodes relative to the capacity of the public Internet.[citation\ needed]

There are also some differences in programming and deployment. It can be costly and difficult to write programs that can run in the environment of a supercomputer, which may have a custom operating system, or require the program to address concurrency issues. If a problem can be adequately parallelized, a “thin” layer of “grid” infrastructure can allow conventional, standalone programs, given a different part of the same problem, to run on multiple machines. This makes it possible to write and debug on a single conventional machine, and eliminates complications due to multiple instances of the same program running in the same shared memory and storage space at the same time.


그리드 컴퓨팅은 그리드 상의 모든 관련 컴퓨터의 계산능력을 결합하여 가상의 슈퍼 컴퓨터를 구축하려고, 지리적으로 멀리 떨어진 컴퓨터를 하나의 네트워크로 연결하는 것이다. 그리드 컴퓨팅은 미국에 있는 대부분의 컴퓨터에서 중앙처리장치가 다른 처리 작업에 사용 가능한 여유 자원을 남겨둔 채, 할당된 작업에는 평균적으로 25%의 시간밖에 사용되지 못한다는 사실을 활용한 것이다. 그리드 컴퓨팅은 기업이 초고속 인터넷 접속을 통해 원거리의 컴퓨터를 경제적으로 연결하고 엄청난 양의 데이터를 다룰 수 있기 전까지는 불가능 하였다. 그리드 컴퓨팅에서 그리드상의 자원을 통제하고 할당하려면, 글로버스얼라이언스나 개인 제공자가 제공하는 공개소스 소프트웨어 같은 소프트웨어 프로그램이 필요하다. 클라이언트 소프트웨어는 서버의 응용 프로그램과 통신한다. 이런 서버 소프트웨어는 데이터와 응용 프로그램 코드를 일정 단위로 분할한 뒤, 분할된 코드를 그리드상의 컴퓨터에 배분한다. 클라이언트 컴퓨터는 뒤편에서 그리드 응용 프로그램을 실행시키면서 기존에 수행했던 유형의 작업도 수행할 수 있다. 그리드 컴퓨팅을 사용하는 비즈니스는 비용절감, 계산속도 증가, 민첩성 등의 효과를 보여준다.

인터넷과 마찬가지로, 그리드 컴퓨팅은 상용이 아닌 과학 프로젝트들을 지원하기 위해 개발되어 진화하고 있다. 인터넷은 처음에 미국 연방정부의 지원을 받는 컴퓨팅 연구소들을 통신 연결하여 정보의 공유를 수월하게 하려는 필요성에 의해 개발이 되었는데, 그리드 컴퓨팅 또한 이러한 노력의 연장선상에 있는 더욱 포괄적인 자원의 공유를 위한 프레임워크로 볼 수 있다.

그리드의 개념은 소위 “그리드의 아버지들”이라 불리는 Ian Foster, Carl Kesselman, Steve Tuecke가 시작하였으며, 그들은 CPU 관리 (클러스터링, 사이클 훔쳐오기) 이외에도 저장소 관리, 보안 조항, 데이터 이동, 모니터링, 그리고 그 밖의 다른 서비스들을 개발하는 데 필요한 도구들을 한데 모은 글로버스 툴킷(Globus Toolkit)을 개발하였다.

그리드 컴퓨팅은 원래 1990년대 초반에 파워 그리드에서 유래된 것으로, 전기처럼 쉽게 어디서나 컴퓨팅을 할 수 있게 한다는 개념에서 비롯되었다.

History

The term grid computing originated in the early 1990s as a metaphor for making computer power as easy to access as an electric power grid. The power grid metaphor for accessible computing quickly became canonical when Ian Foster and Carl Kesselman published their seminal work, “The Grid: Blueprint for a new computing infrastructure” (1999).


인터넷과 마찬가지로, 그리드 컴퓨팅은 상용이 아닌 과학 프로젝트들을 지원하기 위해 개발되어 진화하고 있다. 인터넷은 처음에 미국 연방정부의 지원을 받는 컴퓨팅 연구소들을 통신 연결하여 정보의 공유를 수월하게 하려는 필요성에 의해 개발이 되었는데, 그리드 컴퓨팅 또한 이러한 노력의 연장선상에 있는 더욱 포괄적인 자원의 공유를 위한 프레임워크로 볼 수 있다.

그리드의 개념은 소위 “그리드의 아버지들”이라 불리는 Ian Foster, Carl Kesselman, Steve Tuecke가 시작하였으며, 그들은 CPU 관리 (클러스터링, 사이클 훔쳐오기) 이외에도 저장소 관리, 보안 조항, 데이터 이동, 모니터링, 그리고 그 밖의 다른 서비스들을 개발하는 데 필요한 도구들을 한데 모은 글로버스 툴킷(Globus Toolkit)을 개발하였다.

그리드 컴퓨팅은 원래 1990년대 초반에 파워 그리드에서 유래된 것으로, 전기처럼 쉽게 어디서나 컴퓨팅을 할 수 있게 한다는 개념에서 비롯되었다.


CPU scavenging and volunteer computing were popularized beginning in 1997 by distributed.net and later in 1999 by SETI@home to harness the power of networked PCs worldwide, in order to solve CPU-intensive research problems.

The ideas of the grid (including those from distributed computing, object-oriented programming, and Web services) were brought together by Ian Foster, Carl Kesselman, and Steve Tuecke, widely regarded as the “fathers of the grid”.[6] They led the effort to create the Globus Toolkit incorporating not just computation management but also storage management, security provisioning, data movement, monitoring, and a toolkit for developing additional services based on the same infrastructure, including agreement negotiation, notification mechanisms, trigger services, and information aggregation. While the Globus Toolkit remains the de facto standard for building grid solutions, a number of other tools have been built that answer some subset of services needed to create an enterprise or global grid.

In 2007 the term cloud computing came into popularity, which is conceptually similar to the canonical Foster definition of grid computing (in terms of computing resources being consumed as electricity is from the power grid). Indeed, grid computing is often (but not always) associated with the delivery of cloud computing systems as exemplified by the AppLogic system from 3tera.

References

  1. What is grid computing? - Gridcafe. E-sciencecity.org. Retrieved on 2013-09-18.
  2. “What is the Grid? A Three Point Checklist”
  3. “Pervasive and Artificial Intelligence Group :: publications [Pervasive and Artificial Intelligence Research Group]”. Diuf.unifr.ch. May 18, 2009. Retrieved July 29, 2010. 
  4. Computational problems - Gridcafe. E-sciencecity.org. Retrieved on 2013-09-18.
  5. Kamran Karimi, Neil G. Dickson, and Firas Hamze, High-Performance Physics Simulations Using Multi-Core CPUs and GPGPUs in a Volunteer Computing Context, International Journal of High Performance Computing Applications, 2011
  6. “Father of the Grid”
  7. “Client Statistics by OS”. Folding@home. Stanford University. Retrieved April 23, 2013.  Check date values in: (help)
  8. “BOINCstats – BOINC combined credit overview”. Retrieved March 3, 2013. 
  9. “MilkyWay@Home Credit overview”. BOINC. Retrieved April 21, 2010. 
  10. “SETI@Home Credit overview”. BOINC. Retrieved April 21, 2010. 
  11. “Einstein@Home Credit overview”. BOINC. Retrieved April 21, 2010. 
  12. “Internet PrimeNet Server Distributed Computing Technology for the Great Internet Mersenne Prime Search”. GIMPS. Retrieved June 6, 2011. 
  13. [1][dead\ link]
  14. Home page of BEinGRID
  15. Large Hadron Collider Computing Grid official homepage
  16. “GStat 2.0 – Summary View – GRID EGEE”. Goc.grid.sinica.edu.tw. Retrieved July 29, 2010. 
  17. “Real Time Monitor”. Gridportal.hep.ph.ic.ac.uk. Retrieved July 29, 2010. 
  18. “LCG – Deployment”. Lcg.web.cern.ch. Retrieved July 29, 2010. 
  19. “Coming soon: superfast internet”
  20. [2][dead\ link]
  21. BOINCstats
  22. P Plaszczak, R Wellner, Grid computing, 2005, Elsevier/Morgan Kaufmann, San Francisco
  23. IBM Solutions Grid for Business Partners: Helping IBM Business Partners to Grid-enable applications for the next phase of e-business on demand
  24. Structure of the Multics Supervisor. Multicians.org. Retrieved on 2013-09-18.
  25. “A Gentle Introduction to Grid Computing and Technologies” (PDF). Retrieved May 6, 2005. 
  26. “The Grid Café – The place for everybody to learn about grid computing”. CERN. Retrieved December 3, 2008. 
  27. http://www.comp.lancs.ac.uk/~elkhatib/Docs/2011.09_PhD-Thesis.pdf

comments powered by Disqus