Upload
harvey-norman
View
212
Download
0
Embed Size (px)
Citation preview
Objectives
• Functionalities and services
• Architecture and software technologies
• Potential Applications– Link to research problems
What
• What is overlay computer– PC with virtualised resources– Exploit the aggregate power of Internet
machines
• How sensor networks fit in the picture ?
Functionality of the overlay computer (1)
• Build a very large ‘file system’ out of many machines
• What is new with respect to previous projects in the area ?
• And how we leverage the science we do in Aeolus ?
Functionality of the overlay computer (2)
• Run a parallel application– Distribute processes to different machines– Issue: Matching Configuration and Execution
Context
• How does this differs from GRID ?
Architecture
• Note – there should be a distinction between services available to the programmer and those used by the overlay computer only
• Transparency or ‘opaqueness’ of the platform– Should the platform expose information such as
performance, trust, etc. to the programmer or
Functionalities - discussion
• We discuss and describe more functionalities than we implement
• The operating system metaphore is a long term challenge, providing some common context to research– We do not aim at design of a complete operating system
• What are the assumptions related to the environment the overlay computer– Dynamicity– Etherogeneity
Functionalities – discussion (2)
• What are the primitives (pino) of the overlay computer– Sort of system calls
• There should be a perspective on QoS– Programmer should be able to specify the desired
QoS ?– Should the OC be able to provide different levels of
service (e.g. trust, reliability etc) ?– Or should the overlay computer be just ‘best-effort’ ?
What is the minimum service guarantees that the system provides ?
Functionalities – discussion (3)
• Should we have as input figures on reliability and availability ?– Should we assume high availability (e.g. 85 – 90 %) of
the constituent PCs or very low (e.g. laptops, or personal PCs) ?
– How much dynamics and what type ?• Join/ leave• Up/ Down
• In other words– Are we assuming network of servers e.g. university
servers, company servers etc or home PCs ?
Functionalities – discussion (3)
• .. And as a consequence– Are we looking for a flat p2p architecture or a
hierarchical/ super-peer architecture ?
• Which degree of selfishness should we expect ?– I.e. fully cooperative or partially selfish
Functionalities – top level
System model
• Real machine– ??? Missing decision about what types of machines are
used, the dynamicity, the selfishness ???
• Virtual machine– Overlay with the following abstractions (next slide)
• Applications– Use the VM
Main abstractions (also ‘toplevel functionalities’)
• What are the main abstractions of the General Purpose Computing– Files– Processes– Communication Primitives
• Application Level Multicast e.g. I3
• ?subset synchronization?
Data Management (‘Files’)
• File storage– Blocks, chunks or entire file as unit of distribution ?– Possible answer
• Low-level storage as blocks• Virtual File System (?)
• File system/ name space functionalities• Record or ‘tuple’ oriented storage
– Direct access to records by key • Indexes
– Complex queries
Data Management (‘Files’)
• What is for the programmer and what to support other functionalities of the platform (e.g. trust/ reputation, resource advertisement and discovery..) ?
Load Management (‘processes’)
Resource Negotiation and Allocation
Functionalities (security)
• Secure authentication– Some in jxta already– Role base authentication– Anonimity in authentication
• Trust/ reputation management• Defense against misbehaving entities• Certified information access
– (access to databases)– Anonimization
• Function evaluation – E.g. secure auctions
More functionality
• Resource Advertisement and Discovery– Would benefit from DHT
• Access / Membership Functionality– Rules for being accepted by the system– Is this distinct from authentication/ role based authentication/
reputation management ?
• Keep a (dynamic) model of the global computer ?– E.g. to allocate a computation to a machine close to the data– Ability to reason about load– Mechanisms for dissemination of management information (e.g.
load) should be part of the system – Network awareness – ability to reason about topology, latency of
communication
Actions – Next steps
• For each functionality– Proposer provide a concise definition of
functionality– Proposer provide exemplary APIs for
functionality