towards a new infrastructure for the world wide...

42
Towards a new infrastructure for the World Wide Web Systems Software Lab Godmar Back

Upload: lamduong

Post on 09-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Towards a new infrastructure for the World Wide Web

Systems Software Lab

Godmar Back

Page 2: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Towards a new infrastructure for the World Wide Web

Systems Software Lab

Godmar Back

Or:What Have I Been Up To?

Page 3: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

3/27/2009 Departmental Seminar March 2009 3

Page 4: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Systems Software Lab (Dr. Back)

• LibX platform for libraries

• HPC: Sparse methods

• Simulation

• Software Visualization (HDPV)

• Program Analysis• Domain-specific

Languages• Automatic Program

Enhancement

• Hardware Virtualization for

Manycores(VT-ASOS)

• Educational OS (Pintos)

• Advanced Client and Server Execution Environments for Cloud Applications

• Real-time GarbageCollection

Runtime Systems

Operating Systems

ApplicationsSoftware Engineering

4

Page 5: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Cool projects I won’t talk about today (1)

• Sparse Methods– How can we make iterative

solvers for A x = b faster on current machines?

• collaboration w/ Belgin/Ribbens[ICS07, ICS09, IJPC09]

3/27/2009 Departmental Seminar March 2009 5

+ + +=0100 1100 0101 0010

0010 0001 1000 0100

0000 0000 1000 1100

Remainder Matrix

0 1 2 3 4 5 6 7 8 9 10 11

0

1

2

3

4

5

6

7

8

9

10

11

Page 6: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

• Automatic Program Enhancement

– How can we let programs complete themselves?

collaboration w/ Tilevich

[AOSD 2008]

3/27/2009 Departmental Seminar March 2009 6

Cool projects I won’t talk about today (2)

Page 7: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

C1,2C1,1 C2,2C2,1 C3,2C3,1 C4,2C4,1

CPU1

Conventional SMP-NUMA OS

RTA RTB RTC RTD

APPBAPPA APPC APPD

Node1 Node2

cores

cpus

memory

runtime

apps

Hypervisor

APPB

APPAAPPC APPD

OSBOSA

OSCD

CPU2 CPU3 CPU4

C1,2C1,1 C2,2C2,1 C3,2C3,1 C4,2C4,1

CPU1

Node1 Node2

CPU2 CPU3 CPU4

RTA

RTB

RTC RTD

OS

Cool projects I won’t talk about today (3)

collaboration w/ Peng & Nikolopoulous [STMCS ’07], NSF-CSR 0720673

• VT-ASOS– Can we use hardware virtualization to better

support manycore environments?

3/27/2009 7Departmental Seminar March 2009

Page 8: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

3/27/2009 Departmental Seminar March 2009 8

A java.lang.String in memory

A binary tree being traversed

Cool projects I won’t talk about today (4)

• HDPV– What do programs really look like?

collaboration w/ Sundaramanan [ACM SoftVis 08]

Page 9: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Pintos Kernel

Usermode Test Cases

Device SupportKeyboard, VGA, USB, Serial Port, Timer, PCI, IDE

P3: Virtual MemoryP4: Extended

Filesystem

P2: System Call Layer: Copy-in/out, FD Management

Stress Tests

Boot Support

MMU Support

ThreadingSimple Scheduler

P1: Priority Scheduler

P1: MLFQS

P1: Alarm Clock

P2: Process Management

P3: Page Fault

Handling

P3: Address Space Manager

P1: Priority Inheritance

Basic Filesystem

P1: Kernel-mode Test Cases

MLFQS Scheduling

Priority Scheduling Alarm Clock

Physical Memory Manager

P3: Page Replacement

P3: Memory-mapped Files

P4: HierarchicalMulti-threaded

Filesystemand

Buffer Cache

P2-4: System Call Functionality

P2-4: Robustness

P2-4:Basic Filesystem

Students Create

Public Tests

Support Code

Cool projects I won’t talk about today (5)

collaboration w/ Pfaff & Romano [SIGCSE 2009]

• The Pintos Educational OS

– How do we teach OS in a realistic and state‐of‐the‐art manner?

3/27/2009 9Departmental Seminar March 2009

Page 10: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

A Bit Philosophy

• Applications drive systems

• Users run applications, they don’t care about systems

• Successful systems designers understand applications

3/27/2009 Departmental Seminar March 2009 10

Page 11: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

LibX: Background

• Brick-and-mortar libraries in the Internet age face a problem– Students + researchers forgo library resources– Risk becoming irrelevant

• A “virtual librarian” that guides users to library resources while they use the Web– integrates access to library resources into the users’

“webflow”– no matter which page a user visits (⇒ needs client-

side presence!)

3/27/2009 11Departmental Seminar March 2009

Page 12: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

LibX 1.0 Features

• Toolbar and right-click context menu• Adaptive and user-configurable context menus• OpenURL support• Magic Button (Google Scholar support)• Web Localization via Embedded Cues• Autolinking• Off-campus access via EZProxy or WAM• Support for CiteULike• Support for COinS• Support for xISBN• Show/Hide Hotkey

3/27/2009 12Departmental Seminar March 2009

Page 13: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

LibX 1.0 Features

• Toolbar and right-click context menu• Adaptive and user-configurable context menus• OpenURL support• Magic Button (Google Scholar support)• Web Localization via Embedded Cues• Autolinking• Off-campus access via EZProxy or WAM• Support for CiteULike• Support for COinS• Support for xISBN• Show/Hide Hotkey

3/27/2009 13Departmental Seminar March 2009

Page 14: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

LibX Timeline

• 2005– Released LibX Virginia Tech as a Firefox extension– Offered to share LibX with interested libraries

• 2006– Tremendous response from library community– Received National Leadership Grant from IMLS to

create LibX for IE and Edition Builder

• 2007– Received LITA Entrepreneurial Award

3/27/2009 Departmental Seminar March 2009 14

Page 15: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

The LibX Edition Builder

• A configuration management tool for creating customized versions of LibX– Customized version of LibX = LibX edition

• Edition configuration includes descriptions of community-local resources: – OPACs, OpenURL, Proxy, Databases, Links, Branding, …

• Edition Builder is easy to use– Makes heavy use of OCLC registries– Uses sophisticated auto-detection techniques– Usable by librarians, not just programmers

• Anybody can create, share, and manage editions• Over 550 edition as of now, new ones created at a pace of 20/month

– Huge human investment– 10’s of thousands of end users

3/27/2009 Departmental Seminar March 2009 15

Page 16: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

EDITION BUILDER DEMO

3/27/2009 16Departmental Seminar March 2009

Page 17: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Demo Backup Slide

3/27/2009 17Departmental Seminar March 2009

Page 18: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

LoginEdition and

Revision Management

Changes to Configuration

Auto-discoveryDownload

customized LibX

Architecture

18

Edition Maintainer

End User

Edition Builder

Database

File System

Third Party ResourceServers

OCLC WorldCatRegistry

Web Server

3/27/2009 Departmental Seminar March 2009

Page 19: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Log Data – Adoption of Edition Builder

• 1155 total editions present by May 2008

• As of Oct 2008, 1600 total editions• 460 were

made public• New editions

are being made public at a rate of ~20/month

3/27/2009 19Departmental Seminar March 2009

Page 20: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Overall Perceived Ease of Use

0%

10%

20%

30%

40%

50%

60%

Very easy to use Easy to use Somewhat easy to use

Somewhat difficult to use

Difficult to use Very difficult to use

Overall, you would describe the LibX Edition Builder as:

3/27/2009 20Departmental Seminar March 2009

Page 21: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Perceived Learning Curve

0%

10%

20%

30%

40%

50%

Very easy to learn

Easy to learn Somewhat easy to learn

Somewhat difficult to learn

Difficult to learn Very difficult to learn

In your opinion, theLibX Edition Builder interface is:

3/27/2009 21Departmental Seminar March 2009

Page 22: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Style of Application

0%

10%

20%

30%

40%

50%

I much prefer the LibX Edition

Builder style

I somewhat prefer the LibX Edition Builder

style

I do not think the style matters

I somewhat prefer the

traditional style

I much prefer the traditional

style

No response

Do you prefer this style of web application to the more traditional, page-based applications?

3/27/2009 22Departmental Seminar March 2009

Page 23: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Saving of Changes

0%

10%

20%

30%

40%

50%

The LibX Edition Builder uses an interaction mode in which configuration changes are immediately saved, so you do not need to press "Save" or "Submit"

In your opinion, this mode of interaction was:

3/27/2009 23Departmental Seminar March 2009

Page 24: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Log Data Results (cont’d)

• 50% editions built in 72 minutes or less

• 80% editions built in 190 minutes or less

3/27/2009 24Departmental Seminar March 2009

Page 25: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Study Findings

• The LibX Edition Builder – is easy to use and learn

– auto-detection is effective at configuring resources

• Created a community

• Open source spirit– Anybody can create, share, publish, copy and

adapt editions

3/27/2009 25Departmental Seminar March 2009

Page 26: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Where to go from here?

• A toolbar is great, but…

• Emerging technology trends– Service-oriented architectures, web services

interfaces – soon even to ILS!

– Data mash-ups; HTML widgets

• Educational trends: librarians, educators, and users create– Online tutorials, subject guides, visualizations

– Social OPACs: tagging, reviews, recommender services

3/27/2009 26Departmental Seminar March 2009

Page 27: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

World Wide Web

Library Resources andWeb Services

LibX 2.0LibX 2.0 plugin: executes Libapps, merging library information into pages.

Users:decide to which

library services to subscribe, see

expanded view of the web

Librarians: create or adapt Libapps from reusable, shareable

modules

3/27/2009 27Departmental Seminar March 2009

But who will create those

modules?

Page 28: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

LIBX 2.0 DEMO

3/27/2009 28Departmental Seminar March 2009

Page 29: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

The LibApp Model

• How can the interaction of LibX with web content be modeled?

• Typical tasks involve– Examination of the page and extraction of information– Processing of information– Modification of the page

• A Module is a small piece of JavaScript code along with a metadata description of its input and/or output

• A Libapp is a group of modules• A Package is a folder of libapps and packages

3/27/2009 Departmental Seminar March 2009 29

Page 30: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

LibX Tuple Spaces

tuple = TAKE(template)

• If a tuple matching template exists in the tuple space, remove it and return it

• If no tuple exists, wait until a matching tuple is written, remove it and return it

WRITE (tuple)

• Write a tuple into the space

• If a TAKE is pending with a matching template, complete the TAKE

3/27/2009 Departmental Seminar March 2009 30

Tuples and Templates are JavaScript objects in JSON notation. Tuple example: { isbn: “0743226720” }Template example: { isbn : * } // any tuple with ‘isbn’ field

Page 31: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

3/27/2009 Departmental Seminar March 2009 31

Tuple Space

Word Finder

Display ResultName Lookup

{ name: John Grisham}Guarded-By:

{ name: *}Guarded-By:

{ display: * }

{ display: “published: 1989-2008

(Novelists, American--20th century), most widely held work: The client” }

Page 32: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Rationale for Tuple Spaces

Software Engineering

• Low coupling between modules

• Independent composition

• Simplicity

• Suitable for meta-programming

Handling Asynchrony

• User actions happen asynchronously

• Information arrives asynchronously from external sources

• Execution order independence

3/27/2009 Departmental Seminar March 2009 32

Page 33: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Back To Systems…

Page 34: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Client Side – Systems Perspective

• Browser’s execution environment must support a mix of components– Coming from the original page

– Coming from widgets included in original page

– Coming from extensions such as LibX

3/27/2009 Departmental Seminar March 2009 34

Widget1

Component 2

Component 3

Ext 2

Ext 1

Gadget 1

Page 35: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Why Existing Browsers Don’t Work

• Lack of namespace separation

• Lack of fine-grained security contexts

• Lack of resource management

• Lack of parallelism

3/27/2009 Departmental Seminar March 2009 35

<script>for (var i = 0;; i++)

setTimeout( function () {var list = { data: “some string” };for (;;)

list = {next: list,data: list.data + list.data

};}, i++);

</script>

Page 36: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Script Spaces

• Script space represents execution context– May be Tab, Page, Frame, Extension module or

Part of Page

• Unit of resource consumption– CPU + Memory + Garbage Collection

• Separate security context

• Separately schedulable

3/27/2009 Departmental Seminar March 2009 36

Page 37: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Server Side – Systems Perspective

3/27/2009 Departmental Seminar March 2009 37

Widget1

Component 2

Component 3

Gadget 1

• Many apps use Web as their primary user interface (“AJAX”)– E.g. LibX Edition Builder

– Google Mail, Docs, etc.

• Must manage complex UI state

Page 38: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Challenges for Server-side Environments

• Web designed for static documents– Interactivity was retrofitted

• Stateless nature of HTTP– Must re-render complete presentation state on

every request

• If state is kept on client, developer must manage client-server communication– Writing distributed applications is hard

3/27/2009 Departmental Seminar March 2009 38

Page 39: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Idea: A “remote-display” approach

• Server-centric AJAX Framework– Keep presentation state on

server side

– Use aspect-oriented techniques to track changes to presentation state

– Render on demand

• Drastically simplified design

3/27/2009 Departmental Seminar March 2009 39

Widget1

Component 2

Component 3

Gadget 1

Widget1

Component 2

Component 3

Gadget 1

Server

Client

Page 40: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Conclusion

• To build systems, must understand applications

• Not just theoretically, build and support them

3/27/2009 Departmental Seminar March 2009 40

Page 41: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Acknowledgements

LibX Team• Annette Bailey• Godmar Back• Kyrille Goldbeck• Michael Doyle• Arif Khokar• Travis Webb• Alumni

– Nathan Baker– Tilottama Gaat– Tobias Wieschnowsky– Robert Ellis

• Advanced Execution Environments– Amarjyoti Deka– Michael Doyle

• Students– Mehmet Belgin– Peng Lu– Ben Pfaff– Anthony Romano– Jaishankar Sundararaman

• Faculty– Dimitris Nikolopoulous– Calvin Ribbens– Eli Tilevich

3/27/2009 41Departmental Seminar March 2009

Page 42: Towards a new infrastructure for the World Wide Webcourses.cs.vt.edu/~cs5944/lectures/slides/BackCSSeminarMar27.pdf · Towards a new infrastructure for the World Wide Web Systems

Past Student Employment

3/27/2009 Departmental Seminar March 2009 42

I’m hiring for multiple open GRA and URA positions