DOC PREVIEW
Berkeley COMPSCI 162 - Lecture 27 ManyCore OS and Peer-to-peer Systems

This preview shows page 1-2-3-4-5 out of 14 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS162Operating Systems andSystems ProgrammingLecture 27ManyCore OS andPeer-to-peer SystemsDecember 10, 2007Prof. John Kubiatowiczhttp://inst.eecs.berkeley.edu/~cs162Lec 27.212/10/07Kubiatowicz CS162 ©UCB Fall 2007Requests for Final topics• Some topics people requested:– Dragons: too big of a topic for today– ManyCore Systems– Parallel OSs– Embedded OSs– Peer-to-Peer Systems (OceanStore)– Virtual reality/enhancement– Quantum Computing• Today:– A couple of topics to finish from last time– ManyCore/Parallel OS– Embedded OS (realtime systems)– Peer-to-Peer Systems (OceanStore)• Other Topics:– Come look for me at office hours (Or any other time)Lec 27.312/10/07Kubiatowicz CS162 ©UCB Fall 2007Security Terms • Virus:– A piece of code that attaches itself to a program or file so it can spread from one computer to another, leaving infections as it travels– Most attached to executable files, so don’t get activated until the file is actually executed– Once caught, can hide in boot tracks, other files, OS• Worm:– Similar to a virus, but capable of traveling on its own– Takes advantage of file or information transport features– Because it can replicate itself, your computer might send out hundreds or thousands of copies of itself• Trojan Horse:– Named after huge wooden horse in Greek mythology given as gift to enemy; contained army inside– At first glance appears to be useful software but does damage once installed or run on your computer Lec 27.412/10/07Kubiatowicz CS162 ©UCB Fall 2007Security Problems: Buffer-overflow Condition#define BUFFER SIZE 256int process(int argc, char *argv[]){char buffer[BUFFER SIZE];if (argc < 2)return -1;else {strcpy(buffer,argv[1]);return 0;}}Before attackAfter attack• Technique exploited by many network attacks– Anytime input comes from network request and is not checked for size– Allows execution of code with same privileges as running program – but happens without any action from user!• How to prevent?– Don’t code this way! (ok, wishful thinking)– New mode bits in Intel, Amd, and Sun processors» Put in page table; says “don’t execute code in this page”Lec 27.512/10/07Kubiatowicz CS162 ©UCB Fall 2007The Morris Internet Worm: The beginning of chaos• Internet worm (Self-reproducing)– Author Robert Morris, a first-year Cornell grad student– Launched close of Workday on November 2, 1988– Within a few hours of release, it consumed resources to the point of bringing down infected machines• Techniques– Exploited UNIX networking features (remote access)– Bugs in finger (buffer overflow) and sendmailprograms (debug mode allowed remote login)– Dictionary lookup-based password cracking– Grappling hook program uploaded main worm programLec 27.612/10/07Kubiatowicz CS162 ©UCB Fall 2007Timing Attacks: Tenex Password Checking• Tenex – early 70’s, BBN– Most popular system at universities before UNIX– Thought to be very secure, gave “red team” all the source code and documentation (want code to be publicly available, as in UNIX)– In 48 hours, they figured out how to get every password in the system• Here’s the code for the password check:for (i = 0; i < 8; i++)if (userPasswd[i] != realPasswd[i])go to error• How many combinations of passwords?– 2568?– Wrong!Lec 27.712/10/07Kubiatowicz CS162 ©UCB Fall 2007Defeating Password Checking• Tenex used VM, and it interacts badly with the above code– Key idea: force page faults at inopportune times to break passwords quickly• Arrange 1stchar in string to be last char in pg, rest on next pg– Then arrange for pg with 1stchar to be in memory, and rest to be on disk (e.g., ref lots of other pgs, then ref 1stpage)a|aaaaaa|page in memory| page on disk • Time password check to determine if first character is correct!– If fast, 1stchar is wrong– If slow, 1stchar is right, pg fault, one of the others wrong– So try all first characters, until one is slow– Repeat with first two characters in memory, rest on disk • Only 256 * 8 attempts to crack passwords– Fix is easy, don’t stop until you look at all the charactersLec 27.812/10/07Kubiatowicz CS162 ©UCB Fall 2007Types of Parallel Machines• Symmetric Multiprocessor– Multiple processors in box with shared memory communication– Current MultiCore chips like this– Every processor runs copy of OS• Non-uniform shared-memory with separate I/O through host – Multiple processors » Each with local memory» general scalable network – Extremely light “OS” on node provides simple services » Scheduling/synchronization– Network-accessible host for I/O• Cluster– Many independent machine connected with general network – Communication through messages P P P PBusMemoryP/M P/M P/M P/MP/M P/M P/M P/MP/M P/M P/M P/MP/M P/M P/M P/MHostNetworkLec 27.912/10/07Kubiatowicz CS162 ©UCB Fall 2007ManyCore Chips: The future is on the way• “ManyCore” refers to many processors/chip– 64? 128? Hard to say exact boundary• How to program these?– Use 2 CPUs for video/audio– Use 1 for word processor, 1 for browser– 76 for virus checking???• Something new is clearly needed here…• Intel 80-core multicore chip (Feb 2007)– 80 simple cores– Two floating point engines /core– Mesh-like "network-on-a-chip“– 100 million transistors– 65nm feature sizeFrequency Voltage Power Bandwidth Performance3.16 GHz 0.95 V 62W 1.62 Terabits/s 1.01 Teraflops5.1 GHz 1.2 V 175W 2.61 Terabits/s 1.63 Teraflops5.7 GHz 1.35 V 265W 2.92 Terabits/s 1.81 TeraflopsLec 27.1012/10/07Kubiatowicz CS162 ©UCB Fall 2007Berkeley PARLab• Parallel processors have been around for a long time– So, what is different now?» Industry is on a growth path – massively parallel processors will soon be widespread» Communication between cores very low overhead– Challenge is still how to program them• Caught attention of Berkeley (and many others)– New research laboratory: PARLab– New approach: vertically integrated programming environment– Combine lessons of last 20 years with application-driven approach• Berkeley researchers from many backgrounds meeting since Feb. 2005 to discuss parallelism– Krste Asanovic, Ras Bodik, Jim Demmel, Kurt Keutzer, John Kubiatowicz, Edward Lee, George Necula, Dave Patterson, Koushik Sen, John Shalf, John Wawrzynek, Kathy Yelick, …– Circuit design, computer architecture, massively parallel computing,


View Full Document

Berkeley COMPSCI 162 - Lecture 27 ManyCore OS and Peer-to-peer Systems

Documents in this Course
Lecture 1

Lecture 1

12 pages

Nachos

Nachos

41 pages

Security

Security

39 pages

Load more
Download Lecture 27 ManyCore OS and Peer-to-peer Systems
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 27 ManyCore OS and Peer-to-peer Systems and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 27 ManyCore OS and Peer-to-peer Systems 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?