27.09.2014 Views

Transparent Computing

Transparent Computing

Transparent Computing

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Transparent</strong> <strong>Computing</strong>:<br />

A New Paradigm for Pervasive <strong>Computing</strong><br />

Prof. Yaoxue Zhang<br />

Tsinghua University


Contents<br />

1. Introduction<br />

2. What is the Idea?<br />

3. What is the Difference?<br />

4. An Implementation Example<br />

5. Demonstration and Application<br />

6. Conclusions


1. Introduction<br />

1.1 Change of <strong>Computing</strong> Paradigms<br />

Mainframe<br />

<strong>Computing</strong><br />

Desktop-based<br />

Network<br />

<strong>Computing</strong><br />

Pervasive <strong>Computing</strong><br />

( Ubiquitous <strong>Computing</strong><br />

T/M<br />

C/S C/N C/VE<br />

Everything is a Computer<br />

Technologies disappear<br />

~1970’s ~2000’s 21st Century


1.2 The Characteristics of Pervasive <strong>Computing</strong><br />

Remote communication<br />

Fault tolerance<br />

High Availability<br />

Remote information access<br />

Distributed security<br />

Distributed<br />

Systems<br />

Mobile<br />

<strong>Computing</strong><br />

Pervasive<br />

<strong>Computing</strong><br />

Mobile networking<br />

Mobile information access<br />

Adaptive applications<br />

Energy-aware systems<br />

Location sensitivity<br />

(From M. Satyanarayanan, 2001)<br />

Personalized Service<br />

(Active Service)


1.3 Some Problems to Realize Pervasive <strong>Computing</strong> in<br />

Traditional Computer Systems<br />

<br />

Any computer consists of a hardware platform and<br />

a software platform<br />

<br />

Users can not choose services from heterogeneous<br />

software platform underlying on the same hardware<br />

platform<br />

It is not easy and effective to :<br />

•Use Smart Spaces<br />

•Provide personalized services<br />

•Provide powerful computing ability even in light-weight computers<br />

•Localize scalability in heterogeneous OSes


1.4 <strong>Transparent</strong> computing<br />

<br />

<br />

<br />

Realize "stored program " (Von Neumann<br />

Architecture ) in network environment<br />

Users can select services from heterogeneous OSes<br />

environments<br />

Personalized Services,<br />

e.g. Windows and Linux<br />

Execution and Storage of Program are separated<br />

in different computers<br />

Execution: light-weight devices or clients<br />

(as assembling factory)<br />

Storage:<br />

Servers (as Warehouse)<br />

JITC (Just In Time <strong>Computing</strong>)


2. What is the Idea?<br />

A new Meta OS which can control OSes to<br />

realize:<br />

<br />

<br />

<br />

user selection of services<br />

streaming program<br />

separation of execution and storage<br />

of Program


2.1 General Model<br />

<br />

<br />

Users choose OS & Application Using light-weight devices without OS.<br />

Meta OS schedules services to Clients to execute.


2.2 Proposed Topology of Trans-<strong>Computing</strong><br />

Paradigm<br />

TC<br />

( <strong>Transparent</strong><br />

Clients )<br />

TDN<br />

( <strong>Transparent</strong><br />

Delivery Network )<br />

Light-weight devices:<br />

PC, PDA, Intelligent<br />

Mobile Phone, Digital<br />

Appliance, Dedicated<br />

clients, et al.<br />

Ethernet, CATV, 802.11,<br />

IEEE 1394, et al.<br />

(Ubiquitous Communication)<br />

TS<br />

( <strong>Transparent</strong><br />

Servers )<br />

Regular PC, PC<br />

Server, et al.


2.3 The Architecture of Trans-<strong>Computing</strong><br />

Application Layer<br />

Application Layer<br />

Application Layer<br />

Heterogeneous OS Layer<br />

Meta OS Layer<br />

(VDMS, NSAP, MRBP, etc)<br />

Heterogeneous OS Layer<br />

Heterogeneous JITC Layer OS Layer<br />

(Non-Resident)<br />

Other Part of Trans-<br />

<strong>Computing</strong> Other Part Support of Trans- Layer<br />

<strong>Computing</strong> (VDMS, Meta NSAP, Support OS etc) Layer<br />

(VDMS, NSAP, etc)<br />

MRBP<br />

MRBP MRBP<br />

TDN Layer<br />

Network Delivery Layer<br />

Network Delivery Layer<br />

TDN Layer<br />

TS<br />

TC<br />

Resident Module<br />

Non-Resident Module


2.4 The Modules of Meta OS<br />

+<br />

4VP System<br />

VUM (Virtual User Management )<br />

VFM (Virtual File Management )<br />

VDM (Virtual Disk Management )<br />

VIOM (Virtual I/O Management )<br />

4VP<br />

(Non-Resident)<br />

MRBP(Multi-OS Remote Booting Protocol)/<br />

NSAP(Network Service Access Protocol)<br />

Server Main Board<br />

MRBP<br />

Client Main Board<br />

TS<br />

Network<br />

TC


Overall architecture of Trans-Com with a server<br />

and a single client<br />

NSAP<br />

File<br />

redirector<br />

Vdisk<br />

Driver<br />

VIOM<br />

Manage<br />

ment<br />

VFile<br />

System<br />

Virtual Disk<br />

TS<br />

TC


MRBP: Start Delivery and Booting of OSes<br />

TS<br />

TC<br />

Start<br />

Waiting<br />

NO<br />

If Received the signal<br />

from a client<br />

Search the Boot blocks<br />

Send the Boot block<br />

numbers to Client<br />

Get Start Interruption<br />

Signal<br />

Send Message to Servers to<br />

Search Oses Boot blocks<br />

If get the numbers of<br />

blocks, then show to user<br />

Wait for user Choose for<br />

Default Start<br />

Start NSAP<br />

Search and delivery<br />

Meta OS<br />

NO<br />

Default<br />

If User Choose a OS<br />

Start NSAP to get Meta<br />

OS<br />

Page Scheduling of<br />

instance OS<br />

instance OS Running


3. What is the difference?<br />

Comparing with traditional paradigm<br />

<br />

<br />

<br />

<br />

<br />

Realize stored program in network environment.<br />

User chooses OS.<br />

Clients are bare, light-weight machines, but it can<br />

run heterogeneous OSes and applications<br />

efficiently.<br />

Multi-Users share single version software<br />

installed in servers.<br />

All Programs are centralized in Servers, easy to<br />

management.


4. An Implementation Example<br />

4.1 Implementation Using C/S model<br />

Inetrnet<br />

TS<br />

NAT<br />

NAT:Network<br />

Address<br />

Translation<br />

TC<br />

…<br />

TC<br />

…<br />

TC<br />

Topo of TransCom System


TC:<br />

• Low Power:


Testbed<br />

<br />

<br />

4.2 Performance Analysis<br />

Hardware Configuration<br />

TC (30 sets)<br />

Intel Celeron 1 GHz with 128 MB RAM<br />

Onboard network card: 100 Mbps<br />

TS (3 sets)<br />

AMD Athlon64 3000+ with 2 GB RAM<br />

Hard Disk: Seagate SATA 7200 RPM, 2*80 G (RAID 0)<br />

Onboard network card: 1 Gbps<br />

TDN<br />

Huawei-3Com Ethernet switch with<br />

48 100 Mbps interfaces (for client)<br />

and 2 1 Gbps interfaces (for server)<br />

Software Configuration<br />

TS<br />

TC<br />

<br />

<br />

Windows 98, Windows 2000, Linux<br />

and other application software<br />

No OS and applications


Booting performance<br />

100<br />

90<br />

80<br />

70<br />

BIOS<br />

PXE<br />

UOSL<br />

OS Loading<br />

Boot time (s)<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

PC 1 2 3 4 5 6 7 8 9 10 12 14 16<br />

TransCom client number<br />

X-axis: Number of TC<br />

Y-axis: Boot Time


NSAP Throughput<br />

X-axis: Request Size<br />

Y-axis: Throughput<br />

Throughput (MB/s)<br />

16<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

VD (128M)<br />

VD (256M)<br />

VD (512M)<br />

VD (1G)<br />

VD (2G)<br />

VD (2G No cache)<br />

LD (128M)<br />

Throughput (MB/s)<br />

16<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

VD (128M)<br />

VD (256M)<br />

VD (512M)<br />

VD (1G)<br />

VD (2G)<br />

VD (2G No cache)<br />

LD (128M)<br />

2<br />

2<br />

0 1 2 4 8 16 32 64 128<br />

Evaluated with SQLIO from Microsoft<br />

<br />

<br />

Request Size (KB)<br />

Read, unbuffered<br />

0 1 2 4 8 16 32 64 128<br />

Request Size (KB)<br />

Write, unbuffered<br />

Random access: performance better than local disks with small<br />

request size<br />

Random access: performance better than local disks with small<br />

request size


Function Evaluation (Start times)<br />

Applications/OS 1 PC 1 TC 10 TCs 28 TCs<br />

Booting OS<br />

Windows2000<br />

Server<br />

Office Applications<br />

53"13 48"73 70"62<br />

142"57<br />

Word 2003 2"23 1"26 2"28 11"50<br />

Image processing applications<br />

PhotoShop V7.0<br />

13"29<br />

11"08<br />

16"48<br />

1'0"51<br />

Flash V6.0<br />

18"62<br />

7"16<br />

31"41<br />

1'16"56<br />

3D MAX V8.0<br />

29"71<br />

25"68<br />

34"24<br />

1'16"56<br />

Copying files<br />

28"24<br />

24"33<br />

49"48<br />

4'6"99<br />

Playing multimedia<br />

Windows Media<br />

Player<br />

smoothly<br />

smoothly<br />

smoothly<br />

smoothly


5. Demonstration and Application<br />

Demo<br />

Remote Startup different OSes and applications on the same TC<br />

Demo Script:<br />

1. Startup Windows 98 System;<br />

2. Startup Win2000 System, and run<br />

some applications such as Word,<br />

IPTV, and etc;<br />

3. Startup Linux (Redhat) System,<br />

and run some applications.<br />

Demo Video<br />

(Click for play)


Applications


6. Conclusions<br />

<br />

<br />

We Proposed a new computing paradigm:<br />

Trans-<strong>Computing</strong><br />

Some Issues need to be researched to support<br />

pervasive computing:<br />

‣ How to support more OSes?<br />

‣ How to support more devices?<br />

‣ How to support more extensive applications?


Thanks!


A Computer system without OS can<br />

only do nothing<br />

Applications<br />

Applications<br />

Applications<br />

OS & Tools<br />

Windows<br />

or<br />

UNIX<br />

Main board<br />

X86<br />

SPARC


Users can not choose services freely in<br />

traditional computing paradigm<br />

• Desktop OS (Such as Windows) is too big to run<br />

in light-weight computer systems.<br />

• Embedded OS (such as Palm) is not so powerful<br />

to support the enough applications users require.<br />

• User can not choose applications based on<br />

different OSes via the same machine. (like choose<br />

TV Program)


Stored Program<br />

Consider data and instruction as the same<br />

<br />

<br />

Stored Program has realized in the single computer<br />

system by now, stored data has realized in<br />

network.<br />

have not realized storage of instructions in network<br />

environment.<br />

<strong>Transparent</strong> <strong>Computing</strong>:<br />

<br />

Realize stored program in network environment<br />

<br />

Streaming of program


Users can choose services freely in transparent<br />

computing paradigm<br />

Instruction<br />

Compatible<br />

TC<br />

...<br />

Different OSes


C: computing<br />

M: management<br />

S: storage<br />

Server<br />

Central Storage &<br />

Management<br />

Client<br />

Distributed Execution

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!