from computing machineries to cloud computing the minimal levels of abstraction of inforgs through...

43
From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History F. Gobbo & M. Benini Univ. of Insubria & Univ. of Leeds CC BY: $ \ C HAPOC, Ghent University, November 7-10, 2011 1 of 29

Upload: federico-gobbo

Post on 19-May-2015

604 views

Category:

Technology


3 download

DESCRIPTION

Slides by me and Marco Benini which I presented at HAPOC 11, Ghent University, November 10, 2011.

TRANSCRIPT

Page 1: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

From Computing Machineries to Cloud ComputingThe Minimal Levels of Abstraction of Inforgs through History

F. Gobbo & M. BeniniUniv. of Insubria & Univ. of Leeds

CC© BY:© $\© C©

HAPOC, Ghent University,November 7-10, 2011

1 of 29

Page 2: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

What does the word ‘computer’ mean?

The history of computing gives different answers to that questions.Turing referred to computing machinery still in 1950, as the defaultmeaning was a person who computes – often a woman, in the firsthalf of the 20th.

We want to describe the interconnected informational organisms,inforgs in Floridi’s terms, performing computation, finding theminimal levels of abstractions (LoAs) necessary to describecomputers across time.

From abacus to clouding.

2 of 29

Page 3: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

What does the word ‘computer’ mean?

The history of computing gives different answers to that questions.Turing referred to computing machinery still in 1950, as the defaultmeaning was a person who computes – often a woman, in the firsthalf of the 20th.

We want to describe the interconnected informational organisms,inforgs in Floridi’s terms, performing computation, finding theminimal levels of abstractions (LoAs) necessary to describecomputers across time.

From abacus to clouding.

2 of 29

Page 4: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

What does the word ‘computer’ mean?

The history of computing gives different answers to that questions.Turing referred to computing machinery still in 1950, as the defaultmeaning was a person who computes – often a woman, in the firsthalf of the 20th.

We want to describe the interconnected informational organisms,inforgs in Floridi’s terms, performing computation, finding theminimal levels of abstractions (LoAs) necessary to describecomputers across time.

From abacus to clouding.

2 of 29

Page 5: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Why the black box metaphor is not enough

Traditional views of computing are found on the Theory ofCommunication by Shannon and Weaver black box metaphor:

Dinput // black box

output // C

� D is the domain where the arrows provides data in input;

� C is the codomain that shows data extracted by the output arrow.

This metaphor is based on syntax, and is inadequate and incompleteto represent the semantics of the computed information (Primiero2008, 109).

3 of 29

Page 6: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Why the black box metaphor is not enough

Traditional views of computing are found on the Theory ofCommunication by Shannon and Weaver black box metaphor:

Dinput // black box

output // C

� D is the domain where the arrows provides data in input;

� C is the codomain that shows data extracted by the output arrow.

This metaphor is based on syntax, and is inadequate and incompleteto represent the semantics of the computed information (Primiero2008, 109).

3 of 29

Page 7: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Levellism and the problem of semantics

A solution of the problem of semantics is given recently by Floridi’s(2009) epistemological levellism. These are the main points:

� General Definition of Information (GDI) is adopted in terms ofdata + meaning;

� each LoA depends on observation or interpretation of the system,i.e. it epistemological, not ontological;

� a LoA is defined by a finite but not-empty collection ofobservables, i.e., typed variables variably combined.

The main limit of epistemological levellism is that all informationshould be observable, i.e., explicitly stated. The problem is that incomputer science this is rarely the case: often some information gothidden (e.g., adaptive algorithms, probabilistic reasoning).

4 of 29

Page 8: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Why a constructive view of epistemological levellism?

Within constructive mathematics, implicit information can beexplained alongside explicit one, without the risk of being lost:

In all the relevant explanations of the notions of knowledge andinformation, it has always been assumed that knowledge isexplicit, and information is usually conflated with the content ofknowledge. The relation of implicit/explicit containment isobviously essential in the understanding of the relation betweenpremises and conclusion of an inference (Primiero 2008. 121).

The other crucial point in epistemological levellism is how LoAs arerelated: Category Theory gives a general and rigorous definition ofabstraction.

5 of 29

Page 9: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Abstraction between categories

c1

id

��

i

F

xx·

id

��

α

DD c2 idgg

o~~

Foo

c3

id

XX

F

ff

� Category A has one object and the only admitted arrows areidentity (id) and a generic arrow α such that α ◦ α = α.

� Category C has 3 objects and 2 arrows (apart ids): i and o.

� A is abstract in respect to C as F : A→ C (F being the functor).

Page 10: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Abstraction between categories

c1

id

��

i

F

xx·

id

��

α

DD c2 idgg

o~~

Foo

c3

id

XX

F

ff

� Category A has one object and the only admitted arrows areidentity (id) and a generic arrow α such that α ◦ α = α.

� Category C has 3 objects and 2 arrows (apart ids): i and o.

� A is abstract in respect to C as F : A→ C (F being the functor).

Page 11: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

The black box metaphor rewritten in Categorial terms

First, we can rewrite the black box metaphor in Categorial terms(Goldblatt 2006, with adaptation):

iblack box // o

As we have already seen, the black box metaphor is not enough: ingeneral, computing machineries are built to be used by human beings– if not, there is always at least a human being a tthe end of thechain of the machineries.

In the sequel, we describe computing inforgs in Categorial terms,finding the minimal LoAs, in chronological order.

7 of 29

Page 12: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Ancient computing

History of computing can be divided in two main periods: the ancientera and the modern era. All ancient computational tools and methodswere simply helping resources for the (human) computer, i.e., they didnot perform computation per se. Some examples:

� abacus;

� Fibonacci’s fingers’ notation (1202-1228);

� Schickard’s calculating clock (1623);

� Pascaline (1642).

The goal was to hide the process of calculation from the human mind.

8 of 29

Page 13: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

The simple LoA of ancient computing

gscientist // i

computation// o

interpretation

UU

� g is the goal put by the human being;

� g → i is the formalisation in terms of numbers;

� i → o is the computation performed by, e.g., Pascaline.

� o # g is the feedback to Pascal who gives the meaning of data.

The feedback is crucial to have the ancient informational organism.

9 of 29

Page 14: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

The simple LoA of ancient computing

gscientist // i

computation// o

interpretation

UU

� g is the goal put by the human being;

� g → i is the formalisation in terms of numbers;

� i → o is the computation performed by, e.g., Pascaline.

� o # g is the feedback to Pascal who gives the meaning of data.

The feedback is crucial to have the ancient informational organism.

9 of 29

Page 15: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Origins of modern computing

The modern era of computing was born in 1936 with Church, Postand Turing.

The symbolic representation of binary numbers (0s and 1s) are LoAswhich stays in the human mind but requires levels of organization(LoO) hierarchically built inside the machine (Floridi 2011, 69).

So that each LoA can be externalized by a correspondent LoO – and,consequently, a some information gets hidden.

The act of programming is the act of symbolically representingbinary numbers, i.e., it is the act of giving meaning to (modern)computation itself.

10 of 29

Page 16: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

The computing model behind ENIAC

gcard punching //

wiring��

i o��

W

E E ×Wπ1

oo

π2

OO

(E ×W )× iπ1

oo

π2

OO

execution

@@

� first, ENIAC should be wired (E ×W , first Cartesian product);

� second, data can be input for execution ((E ×W )× i → o);

� finally, the output can be evaluated according to goals (feedback,dotted arrow, crucial to have the computing inforg).

Page 17: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

The computing model behind ENIAC

gcard punching //

wiring��

i o��

W

E E ×Wπ1

oo

π2

OO

(E ×W )× iπ1

oo

π2

OO

execution

@@

� first, ENIAC should be wired (E ×W , first Cartesian product);

� second, data can be input for execution ((E ×W )× i → o);

� finally, the output can be evaluated according to goals (feedback,dotted arrow, crucial to have the computing inforg).

Page 18: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

The computing model behind ENIAC

gcard punching //

wiring��

i o��

W

E E ×Wπ1

oo

π2

OO

(E ×W )× iπ1

oo

π2

OO

execution

@@

� first, ENIAC should be wired (E ×W , first Cartesian product);

� second, data can be input for execution ((E ×W )× i → o);

� finally, the output can be evaluated according to goals (feedback,dotted arrow, crucial to have the computing inforg).

Page 19: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

The computing model behind ENIAC

gcard punching //

wiring��

i o��

W

E E ×Wπ1

oo

π2

OO

(E ×W )× iπ1

oo

π2

OO

execution

@@

� first, ENIAC should be wired (E ×W , first Cartesian product);

� second, data can be input for execution ((E ×W )× i → o);

� finally, the output can be evaluated according to goals (feedback,dotted arrow, crucial to have the computing inforg).

Page 20: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

The model behind Von Neumann’s architecture

gdata encoding //

programming��

i o��

p

M M × pπ1

oo

π2

OO

(M × p)× iπ1

oo

π2

OO

execution

AA

Von Neumann’s architecture is in principle very similar to ENIAC.

� instead of wiring, the machine is programmed;

� instead of card punching, data are encoded for input;

It is worth remarking that, both in ENIAC and in the Von Neumann’smachine – unlike in ancient computing – the machine itself doesnot compute: it is really the combination of M, p, and i whichenables execution.

Page 21: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

The model behind Von Neumann’s architecture

gdata encoding //

programming��

i o��

p

M M × pπ1

oo

π2

OO

(M × p)× iπ1

oo

π2

OO

execution

AA

Von Neumann’s architecture is in principle very similar to ENIAC.

� instead of wiring, the machine is programmed;

� instead of card punching, data are encoded for input;

It is worth remarking that, both in ENIAC and in the Von Neumann’smachine – unlike in ancient computing – the machine itself doesnot compute: it is really the combination of M, p, and i whichenables execution.

Page 22: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

The model behind Von Neumann’s architecture

gdata encoding //

programming��

i o��

p

M M × pπ1

oo

π2

OO

(M × p)× iπ1

oo

π2

OO

execution

AA

Von Neumann’s architecture is in principle very similar to ENIAC.

� instead of wiring, the machine is programmed;

� instead of card punching, data are encoded for input;

It is worth remarking that, both in ENIAC and in the Von Neumann’smachine – unlike in ancient computing – the machine itself doesnot compute: it is really the combination of M, p, and i whichenables execution.

Page 23: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

The model behind Von Neumann’s architecture

gdata encoding //

programming��

i o��

p

M M × pπ1

oo

π2

OO

(M × p)× iπ1

oo

π2

OO

execution

AA

Von Neumann’s architecture is in principle very similar to ENIAC.

� instead of wiring, the machine is programmed;

� instead of card punching, data are encoded for input;

It is worth remarking that, both in ENIAC and in the Von Neumann’smachine – unlike in ancient computing – the machine itself doesnot compute: it is really the combination of M, p, and i whichenables execution.

Page 24: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

From operators to OS

It became quickly evident that operators, being human, were too slowto manage the interleaved executions of many processes.

Let us recall that in our previous formalism, a process is a product(M × p)× i where p and i varies according to the goal g , decided byusers, and M varies in time, as the execution modifies the internalstate of the machine.

The modern concept of ‘operating system’ Donovan1974 by KenThompson from Multics to Unix can be seen as a new LoA: somecomputational tasks are hidden in an abstract machine put into thecomputer system so that humans can forget it instead of manuallyperforms the task as living operators.

13 of 29

Page 25: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Multitasking OS

In order to describe the modern, multitasking OS, We must recognisetwo different abstractions:

1. We have a single physical machine M “executing” a number of“parallel” jobs. This abstraction, that enables us to use the quotesin the previous sentence, is the OS.

2. Each job is conceived to work inside an environment where themachine is fully dedicated to its execution. this is essential to writecorrect programs: the programmer can assume to have the machinefor his own purposes, and has not to care about other programs.

Now we will see the whole computing model, then the informationhiding performed for a single process, from the perspective of the OS,and from the concrete, physical Von Neumann’s machine.

14 of 29

Page 26: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Multitasking OS

In order to describe the modern, multitasking OS, We must recognisetwo different abstractions:

1. We have a single physical machine M “executing” a number of“parallel” jobs. This abstraction, that enables us to use the quotesin the previous sentence, is the OS.

2. Each job is conceived to work inside an environment where themachine is fully dedicated to its execution. this is essential to writecorrect programs: the programmer can assume to have the machinefor his own purposes, and has not to care about other programs.

Now we will see the whole computing model, then the informationhiding performed for a single process, from the perspective of the OS,and from the concrete, physical Von Neumann’s machine.

14 of 29

Page 27: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

The computing model behind multitasking

g //

πk

##

��

i = Πj ij

πk

��gk

data encoding //

programming

��

ik ok

p = Πjpjπk // pk

Mk Mk × pkπ1oo

π2

OO

(Mk × pk)× ikπ1oo

π2

OO

execution

DD

ΠjMj

πk

OO

Πj(Mj × pj)πoo

π

ZZ

πk

OO

Πj((Mj × pj)× ij)πoo

πk

OO

π

YY

execution// o

πk

OO

ff

M

π

OO

M × pπ1oo

π2

VV

π

OO

(M × p)× iπ1oo

π

OO

execution

;;

π2

\\

Page 28: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Multitasking: single process abstraction

g //

πk

##

��

i = Πj ij

πk

��gk

data encoding //

programming

��

ik ok

p = Πjpjπk // pk

Mk Mk × pkπ1oo

π2

OO

(Mk × pk)× ikπ1oo

π2

OO

execution

DD

ΠjMj

πk

OO

Πj(Mj × pj)πoo

π

ZZ

πk

OO

Πj((Mj × pj)× ij)πoo

πk

OO

π

YY

execution// o

πk

OO

bj

M

π

OO

M × pπ1oo

π2

VV

π

OO

(M × p)× iπ1oo

π

OO

execution

;;

π2

\\

Page 29: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Multitasking: operating system abstraction

g //

πk

##

��

i = Πj ij

πk

��gk

data encoding //

programming

��

ik ok�

p = Πjpjπk // pk

Mk Mk × pkπ1oo

π2

OO

(Mk × pk)× ikπ1oo

π2

OO

execution

DD

ΠjMj

πk

OO

Πj(Mj × pj)πoo

π

ZZ

πk

OO

Πj((Mj × pj)× ij)πoo

πk

OO

π

YY

execution// o

πk

OO

ff

M

π

OO

M × pπ1oo

π2

VV

π

OO

(M × p)× iπ1oo

π

OO

execution

;;

π2

\\

Page 30: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Multitasking: the concrete Von Neumann’s machine

g //

πk

##

��

i = Πj ij

πk

��gk

data encoding //

programming

��

ik ok�

p = Πjpjπk // pk

Mk Mk × pkπ1oo

π2

OO

(Mk × pk)× ikπ1oo

π2

OO

execution

DD

ΠjMj

πk

OO

Πj(Mj × pj)πoo

π

ZZ

πk

OO

Πj((Mj × pj)× ij)πoo

πk

OO

π

YY

execution// o

πk

OO

ff

M

π

OO

M × pπ1oo

π2

VV

π

OO

(M × p)× iπ1oo

π

OO

execution

;;

π2

\\

Page 31: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

The computing model of cooperative multitasking

Warning!

Next slide shows everything put together withoutinformation hiding. . .

19 of 29

Page 32: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

The computing model of cooperative multitasking

Warning!

Next slide shows everything put together withoutinformation hiding. . .

19 of 29

Page 33: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

g((

π //

πk

&&��

Πj∈αgj

π

��

//))

��

i = Πj ijπ //

πk

��

Πj∈αij

wwp = Πjpj

π

��

πk

&&

gkdata encoding //

programming

��

ik ok��

Πj∈αpjπ // pk

Mk Mk × pkπ1oo

π2

OO

(Mk × pk)× ikπ1oo

π2

OO

exec

??

Πj∈αMj

π

OO

Πj∈α(Mj × pj)

π

OO

πooπ

]]

Πj∈α((Mj × pj)× ij)

π

OO

πooπ

GG

exec// Πj∈αoj

π

OO

dd

ΠαΠj∈αMj

π

OO

π

]]

ΠαΠj∈α(Mj × pj)

π

OO

πooπ

]]π

VV

ΠαΠj∈α((Mj × pj)× ij)

π

OO

πooexec//

π

XX

π

BB

ΠαΠj∈αoj

ff

π

OO

ΠjMj

π

OO

πk

^^

Πj(Mj × pj)

π

OO

πooπ

UU

πk

^^

Πj((Mj × pj)× ij)

π

OO

πoo

πk

@@

π

WW

exec // o

π

OO

πk

BB

cc

M

π

OO

M × pπ1oo

π2

TT

π

OO

(M × p)× iπ1oo

π

OO

exec

77

π2

XX

Page 34: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Internet

The computing model of network distributed applications is not inprinciple so different from the computing model of cooperativemultitasking.

In fact, internet applications are a natural evolution of a concurrentmultitasking system, where the background is no more a singlecomputing machinery, but a network of intercommunicatingcomputers.

Hence, the diagram is the same as before except for that the last line:here, the concrete implementing machine has disappeared.

This behaviour is clear: the concrete level of Internet is the set ofcomputers which are interconnected, and they have not to besimulated.21 of 29

Page 35: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

g //

��

Πj∈αgj

��

//

��

i = Πj ij //

��

Πj∈αij

wwp = Πjpj

��

gkdata encoding //

prog

��

ik ok��

Πj∈αpj// pk

Mk Mk × pkoo

OO

(Mk × pk)× ikoo

OO

exec

??

Πj∈αMj

OO

Πj∈α(Mj × pj)

OO

oo

]]

Πj∈α((Mj × pj)× ij)

OO

oo

GG

exec// Πj∈αoj

OO

dd

ΠαΠj∈αMj

OO

ΠαΠj∈α(Mj × pj)

OO

oo

VV

ΠαΠj∈α((Mj × pj)× ij)

OO

ooexec//

XX

ΠαΠj∈αoj

ff

OO

ΠjMj

OO

Πj(Mj × pj)

OO

oo Πj((Mj × pj)× ij)

OO

oo exec // o

OO

cc

Page 36: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

From end-users to clouding

With the advent of window-based system, characterised by manyapplications working together at the same time, a change in theconcurrent multitasking schema take place: the outputs of severalapplications can be inspected at any time, concurrently.

This fact introduces another LoA over the previous picture: the wholeoutput of an application is split in two: the external (visible) part andthe internal (hidden) part.

From the point of view of system architecture, there is no differencebetween typing Unix commands on a shell and point-and-clickingmenus and windows so to give the same command.

So, which kind of LoA is introduced here?

23 of 29

Page 37: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

From end-users to clouding

With the advent of window-based system, characterised by manyapplications working together at the same time, a change in theconcurrent multitasking schema take place: the outputs of severalapplications can be inspected at any time, concurrently.

This fact introduces another LoA over the previous picture: the wholeoutput of an application is split in two: the external (visible) part andthe internal (hidden) part.

From the point of view of system architecture, there is no differencebetween typing Unix commands on a shell and point-and-clickingmenus and windows so to give the same command.

So, which kind of LoA is introduced here?

23 of 29

Page 38: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

A “graphic” videogame through ncurses library...

24 of 29

Page 39: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

...and the first commercial desktop metaphor

25 of 29

Page 40: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

The need of levels of explanation

The method of levels of abstractions by Floridi and Sanders (2004)gives the necessary philosophical and theoretical framework to dealwith such cases.

In particular, in the case of computing, each LoA is connected with adifferent level of organization (LoO), which pertains the software andhardware architecture, and a level of explanation (LoE), whichpertains the expected kinds of use by the end-user vs. theprogrammer.

Therefore, there is no need to add other LoAs to the Categorialdiagram, unless we want to address the structure of the set of goalsg . But this is out of the scope of this paper, as the goals are not partof the overall process of computation, strictly speaking.

26 of 29

Page 41: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History
Page 42: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Also cloud computing is a LoE!

Similar considerations can be brought for clouding, which is “only” afurther information hiding (LoE) over the internet.

In fact, there is no change of system architecture (LoO): the pointhere is that the management of files and applications (where to save?how to backup? when to update?) become useless from the LoE ofthe end-user, because someone else somewhere is taking care of them.

28 of 29

Page 43: From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History

Thanks for your attention!

Questions?

For proposals, ideas & comments:

[email protected] & [email protected]

Download & share these slides here:

http://www.slideshare.net/goberiko/

CC© BY:© $\© C© Federico Gobbo & Marco Benini 2011

29 of 29