The Eight Fallacies of Distributed Computing

1.
Distributed Computing. 1990년 초반 처음 PC통신서비스를 하려고 마음을 먹었을 때 기술에 대한 이해가 없었습니다. 아는 분에게 개발을 요청해서 사용하려고 했습니다. 그렇지만 실패했고 자체 개발로 선회하였죠. 이 때 만났던 분이 나우콤 선배입니다. 지금은 어느 곳에서 선생님을 하시지만 이 때 나우콤을 운영한 시스템을 설계 구축하는 일을 하고 계셨습니다. 네트워크와 분산 컴퓨팅이라는 개념을 배운 때가 이때 일 듯 합니다. 직접 개발은 하지 않았지만 직간접으로 전해 들은 이야기입니다.

아주 오래전 메임프레임의 시대가 막을 내리고 개방형 분산 컴퓨팅시대가 도래했을 때 개방과 분산은 네트워크를 의미합니다.TCP/IP를 표준으로 연결된 컴퓨터들을 이용한 서비스입니다.

A distributed system is an application that executes a collection of protocols to coordinate the actions of multiple processes on a network, such that all components cooperate together to perform a single or small set of related tasks. – Introduction to Distributed System Design – Google Code University

시스템을 설계할 때 암묵적인 전제를 가졌던 것 같습니다. 설계를 할 때 고려한 적이 없기때문에 암무적인 전제라고 할 수 있습니다.

1.The network is reliable
2.Latency is zero
3.Bandwidth is infinite
4.The network is secure
5.Topology doesn’t change
6.There is one administrator
7.Transport cost is zero
8.The network is homogeneous

2.
이상은 Peter Deutsch가 정의한 ‘fallacies of dictibuted computing‘이 나온 때는 1994년입니다. 그 시절을 회고한 기사입니다.

In the fall of 1991, when mobile computing involved a hand truck and an extension cord, the idea of an everything-connected world was a leap of faith to some and a really crazy idea to most. But Sun’s engineers were already working on notebook computers, and Peter Deutsch, one of Sun’s original “Fellows,” was heading up a task force to advise Sun on its mobile strategy.
Deutsch just called ’em like he saw ’em. When he got to Sun he began to consider some of the existing notions some engineers had about network computing, some of which were downright foolish.
Coming off a stint as chief scientist at Park Place Systems, Deutsch was looking to hang out and cogitate with and bask in Sun’s intense engineering culture. He was a key designer and implementer of the Interlisp-D system and a significant contributor to the design of the Cedar Mesa language and the Smalltalk-80 programming environment. But he hadn’t gotten into networking. It might have been some sort of intellectual hazing ritual that made Deutsch co-chair of a mobile computing task force. Or it might have been brilliance.
Bill Joy and Dave Lyon had already formulated a list of flawed assumptions about distributed computing that were guaranteed to cause problems down the road: the network is reliable; latency is zero; bandwidth is infinite; and the network is secure. James Gosling, Sun Fellow, Chief Technology Officer for Java Developer Platforms, and inventor of Java, had actually codified these four, calling them “The Fallacies of Networked Computing.”
“It’s a sort of funny thing,” he says, “that in the large-scale world, networking didn’t really exist in 1995. But since Sun was founded in 1982, networking has been at the core of what we do. We cut ourselves on all these problems pretty early on.”
What Deutsch saw with fresh eyes was that, despite Gosling’s warning, as engineers – inside and outside Sun – designed and built network infrastructure, they kept making the same mistakes, based largely on the same basic yet false assumptions about the nature of the network.
“The more I looked around at networking inside and outside Sun,” Deutsch says, “the more I thought I could see instances where making these assumptions got people into trouble.” For example, Deutsch could see Gosling’s Fallacies coming into play as Sun moved its operations from downtown to its glamorous new campus near the San Francisco Bay.
“There was a lot of thrashing around about the topology of the network for the corporate intranet, where routers should be, etc.,” Deutsch recalls. “Things broke all the time. My recollection is that it was watching all that thrashing around that led me to numbers five and six – that there’s a single administrator and that the topology won’t change.” Number seven, that transport cost is zero, coalesced as Sun discussed creating a wide area network to connect the Mountain View campus with a new lab on the East coast.
When Deutsch wrote the list, by this time seven items strong, into a slide presentation, “It was no big deal,” he says. Neither was there a roar of acclamation. Rob Gingell, Sun vice president, chief engineer, and Fellow, remembers it as an mmm-hmm moment rather than an ah-ha moment.
Deutsch’s Fallacies, 10 Years After중에서

읽어보면 “아하!”라는 소리가 절로 나오는 주제들입니다. Arnon Rotem-Gal-Oz이 Dr.Dobb’s Journal에 쓴 글을 모은 논문입니다. 분산 컴퓨팅의 시대는 여전히 진행중입니다. 그렇기 때문에 현재적 의미를 되새겨볼 필요가 있습니다.

The Eight Fallacies of Distributed Computing

Download (PDF, 254KB)

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.