From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 720 views

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

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

Statistics

Views

Total Views
720
Views on SlideShare
718
Embed Views
2

Actions

Likes
0
Downloads
1
Comments
0

1 Embed 2

http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History From Computing Machineries to Cloud Computing The Minimal Levels of Abstraction of Inforgs through History Presentation Transcript

  • 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 C CC BY: $ HAPOC, Ghent University, November 7-10, 20111 of 29
  • 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 . 2 of 29
  • 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. 2 of 29
  • 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
  • Why the black box metaphor is not enoughTraditional views of computing are found on the Theory ofCommunication by Shannon and Weaver black box metaphor: input G black box output GC D D is the domain where the arrows provides data in input; C is the codomain that shows data extracted by the output arrow. 3 of 29
  • Why the black box metaphor is not enoughTraditional views of computing are found on the Theory ofCommunication by Shannon and Weaver black box metaphor: input G black box output GC D 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
  • Levellism and the problem of semanticsA 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 of data + 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 of observables, 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
  • 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 and information, it has always been assumed that knowledge is explicit, and information is usually conflated with the content of knowledge. The relation of implicit/explicit containment is obviously essential in the understanding of the relation between premises 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
  • Abstraction between categories id Ô c1 id F i & x 2 o F h·f c2 g id α F o ~ c3 ˆ id Category A has one object and the only admitted arrows are identity (id) and a generic arrow α such that α ◦ α = α. Category C has 3 objects and 2 arrows (apart ids): i and o.
  • Abstraction between categories id Ô c1 id F i & x 2 o F h·f c2 g id α F o ~ c3 ˆ id Category A has one object and the only admitted arrows are identity (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).
  • The black box metaphor rewritten in Categorial termsFirst, we can rewrite the black box metaphor in Categorial terms(Goldblatt 2006, with adaptation): black box G i oAs 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
  • Ancient computingHistory 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
  • The simple LoA of ancient computing scientist G computationG g … i o interpretation 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.9 of 29
  • The simple LoA of ancient computing scientist G computationG g … i o interpretation 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
  • Origins of modern computingThe 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
  • The computing model behind ENIAC  card punching G g iy do wiring  Wy π2 execution π2 Eo π1 E ×W o π1 (E × W ) × i
  • The computing model behind ENIAC  card punching G g iy do wiring  Wy π2 execution π2 Eo π1 E ×W o π1 (E × W ) × i first, ENIAC should be wired (E × W , first Cartesian product);
  • The computing model behind ENIAC  card punching G g iy do wiring  Wy π2 execution π2 Eo π1 E ×W o π1 (E × W ) × i first, ENIAC should be wired (E × W , first Cartesian product); second, data can be input for execution ((E × W ) × i → o);
  • The computing model behind ENIAC  card punching G g iy do wiring  Wy π2 execution π2 Eo π1 E ×W o π1 (E × W ) × i 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).
  • The model behind Von Neumann’s architecture  data encoding G g i y eo programming  py π2 execution π2 Mo π1 M ×p o π1 (M × p) × iVon Neumann’s architecture is in principle very similar to ENIAC.
  • The model behind Von Neumann’s architecture  data encoding G g i y eo programming  py π2 execution π2 Mo π1 M ×p o π1 (M × p) × iVon Neumann’s architecture is in principle very similar to ENIAC. instead of wiring, the machine is programmed;
  • The model behind Von Neumann’s architecture  data encoding G g i y eo programming  py π2 execution π2 Mo π1 M ×p o π1 (M × p) × iVon 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;
  • The model behind Von Neumann’s architecture  data encoding G g i y eo programming  py π2 execution π2 Mo π1 M ×p o π1 (M × p) × iVon 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.
  • From operators to OSIt 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
  • Multitasking OSIn 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 quotes in the previous sentence, is the OS.2. Each job is conceived to work inside an environment where the machine is fully dedicated to its execution. this is essential to write correct programs: the programmer can assume to have the machine for his own purposes, and has not to care about other programs. 14 of 29
  • Multitasking OSIn 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 quotes in the previous sentence, is the OS.2. Each job is conceived to work inside an environment where the machine is fully dedicated to its execution. this is essential to write correct programs: the programmer can assume to have the machine for 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
  • The computing model behind multitasking gf G i = Πj ij ’ ‰ πk πk 5   gk data encoding G ik oyk y h programming π  πk  p = Πj pj G pk π2 † y execution π2 πk π1 π1 My k o M k × pk o y (Mk × pk ) × ik y π2 πk πk πk π Πj M j o Πj (Mj × pj ) o Πj ((Mj × pj ) × ij ) GY o π π execution y y y π π π π2 execution π1 π1 Mo M ×p o (M × p) × i
  • Multitasking: single process abstraction g ˜j G i = Πj ij ’ ‰ πk πk 5   gk data encoding G ik oyk y h programming π  πk  p = Πj pj G pk π2 † y execution π2 πk π1 π1 My k o M k × pk o y (Mk × pk ) × ik y π2 πk πk πk π Πj M j o Πj (Mj × pj ) o Πj ((Mj × pj ) × ij ) GY o π π execution y y y π π π π2 execution π1 π1 Mo M ×p o (M × p) × i
  • Multitasking: operating system abstraction gf G i = Πj ij ’ ‰ πk πk 5 Ù  gk data encoding G ik oyk y h programming π  πk  p = Πj pj G pk π2 † y execution π2 πk π1 π1 My k o Mk × pk o y (Mk × pk ) × ik y π2 πk πk πk π execution Πj M j o Πj (Mj × pj ) o Πj ((Mj × pj ) × ij ) GY o π π y y y π π π π2 execution π1 π1 Mo M ×p o (M × p) × i
  • Multitasking: the concrete Von Neumann’s machine gf G i = Πj ij ’ ‰ πk πk 5 Ù  gk data encoding G ik oyk y h programming π  πk  p = Πj pj G pk π2 † y execution π2 πk π1 π1 My k o M k × pk o y (Mk × pk ) × ik y π2 πk πk πk π Π j Mj o Πj (Mj × pj ) o Πj ((Mj × pj ) × ij ) GY o π π execution y y y π π π π2 execution π1 π1 Mo M ×p o (M × p) × i
  • The computing model of cooperative multitaskingWarning!19 of 29
  • The computing model of cooperative multitaskingWarning!Next slide shows everything put together withoutinformation hiding. . .19 of 29
  • @ A g ™f π G Πj∈α gj G i = Πj ij π G Πj∈α ij d ‡ˆ q πk π πk  8 Ø p = Πj pj gk data encoding G ik w „… † y π c f oyk πk π programming  Ñ π 8G  Πj∈α pj pyk π2 “ exec π2 π π π π1 My k “” o π1M k × “ ” pk o y (Mk × pk ) × ik df y π π π π π Πj∈α Mj o Πj∈α (Mj × pj ) o G Πj∈α oj π π Πj∈α ((Mj × pj ) × ij ) y y y exec y π π π π2 π π π πΠα Πj∈α Mj o Πα Πj∈α (Mj × pj ) o Πα Πj∈α ((Mj × pj ) × ij ) G Πα Πj∈α oj π π y y exec y y π π πk π π π πk πk Πj Mj o Πj (Mj × pj ) o GU o π π π exec k Πj ((Mj × pj ) × ij ) y y y
  • InternetThe 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
  • g ™f G Πj∈α gj G i = Πj ij G Πj∈α ij d ˆ q  Ø p = Πj pj gk data encoding G ik w † y c oyk prog  Ñ  Πj∈α pj G pk “ y exec My k o M k × pk o y (Mk × pk ) × ik y Πj∈α Mj o Πj∈α (Mj × pj ) o Πj∈α ((Mj × pj ) × ij ) G Πj∈α oj y y y exec yΠα Πj∈α Mj o Πα Πj∈α (Mj × pj ) o Πα Πj∈α ((Mj × pj ) × ij ) G Πα Πj∈α oj y y exec y y Πj Mj o Πj (Mj × pj ) o Go exec Πj ((Mj × pj ) × ij )
  • From end-users to cloudingWith 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.23 of 29
  • From end-users to cloudingWith 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
  • A “graphic” videogame through ncurses library...24 of 29
  • ...and the first commercial desktop metaphor25 of 29
  • The need of levels of explanationThe 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
  • 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
  • Thanks for your attention! Questions? For proposals, ideas & comments: federico.gobbo@uninsubria.it & M.Benini@leeds.ac.uk Download & share these slides here: http://www.slideshare.net/goberiko/ C CC BY: $ Federico Gobbo & Marco Benini 2011 29 of 29