Distributed Computing with SAGE Yi Qiang

Slides:



Advertisements
Similar presentations
BOINC: A System for Public-Resource Computing and Storage David P. Anderson University of California, Berkeley.
Advertisements

Samford University Virtual Supercomputer (SUVS) Brian Toone 4/14/09.
Department of Mathematics and Computer Science
A P2P Distributed Computing Platform: (Wed) C.Y. ‘Connor’ Park KISTI Supercomputing Center.
P2P Distributed Computing Platform: C.Y. ‘Connor’ Park KISTI Supercomputing Center.
Algorithms (Contd.). How do we describe algorithms? Pseudocode –Combines English, simple code constructs –Works with various types of primitives Could.
Chapter 13 The First Component: Computer Systems.
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
Platform as a Service (PaaS)
Ch 4. The Evolution of Analytic Scalability
WEB SCIENCE: DISTRIBUTED APPROACHES. Mobile Computing Laptops Smartphones Tablets And now… Smartwatches Fitness trackers Google Glass (are you a glasshole?)
Public-resource computing for CEPC Simulation Wenxiao Kan Computing Center/Institute of High Physics Energy Chinese Academic of Science CEPC2014 Scientific.
A Distributed Computing System Based on BOINC September - CHEP 2004 Pedro Andrade António Amorim Jaime Villate.
Highly Distributed Parallel Computing Neil Skrypuch COSC 3P93 3/21/2007.
Cloud Computing Presented by Boyoung Kim.
Loosely Coupled Parallelism: Clusters. Context We have studied older archictures for loosely coupled parallelism, such as mesh’s, hypercubes etc, which.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
What is SAM-Grid? Job Handling Data Handling Monitoring and Information.
Distributed Computing Projects. Find cures for diseases like Alzheimer's and Parkinson's by analyzing the ways proteins develop (protein.
The History of Clustering. What is computer clustering? Computer clustings is when a group of computers are linked together operating as one, sharing.
Distributed Computing Systems Ryan Harrod. Definition  Server delegates computations to clients  Usually over a network.
Mobile Analyzer A Distributed Computing Platform Juho Karppinen Helsinki Institute of Physics Technology Program May 23th, 2002 Mobile.
CLIENT SERVER COMPUTING. We have 2 types of n/w architectures – client server and peer to peer. In P2P, each system has equal capabilities and responsibilities.
Dato Confidential 1 Danny Bickson Co-Founder. Dato Confidential 2 Successful apps in 2015 must be intelligent Machine learning key to next-gen apps Recommenders.
Distributed Systems Architecure. Architectures Architectural Styles Software Architectures Architectures versus Middleware Self-management in distributed.
A very short introduction to Project Supercomputing Center, KISTI Chan Yeol (Connor) Park
Platform as a Service (PaaS)
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CLOUD COMPUTING
Platform as a Service (PaaS)
Introduction to Distributed Platforms
Netscape Application Server
CS122B: Projects in Databases and Web Applications Winter 2017
GWE Core Grid Wizard Enterprise (
COMPSCI 110 Operating Systems
Job Scheduling in a Grid Computing Environment
Grid Computing.
Some bits on how it works
Recap: introduction to e-science
OPEN SOURCE SOFTWARE (OSS)
Grid Computing Colton Lewis.
Introduction to Computers
Hadoop Clusters Tess Fulkerson.
Coding - The Ultimate Survival Skill
Chapter 1: Introduction
EE 193: Parallel Computing
Finding a Job Gathering Leads
ITIS 1210 Introduction to Web-Based Information Systems
Peer to Peer Information Retrieval
Do it now – PAGE 11 You will find your do it now task in your workbook – look for the start button! Wednesday, 21 November 2018.
Ch 4. The Evolution of Analytic Scalability
Grid Computing Done by: Shamsa Amur Al-Matani.
Distributed computing deals with hardware
Introduction to Operating Systems
The Design of a Grid Computing System for Drug Discovery and Design
Finding a Job Gathering Leads
Distributed Hash Tables
Middleware, Services, etc.
Large Scale Distributed Computing
Threads vs. Processes Hank Levy 1.
Chapter 6 Finding a Job.
Computational Thinking
Basic organizations and memories in distributed computer systems
Snippet Engine as a Database Server
EN Software Carpentry Python – A Crash Course Esoteric Sections Parallelization
cs430 lecture 02/22/01 Kamen Yotov
Hwajung Lee ITEC452 Distributed Computing Lecture 1 Introduction to Distributed Systems.
Web Application Development Using PHP
Distributed Systems and Algorithms
Presentation transcript:

Distributed Computing with SAGE Yi Qiang yi@yiqiang.net

Distributed Computation What is distributed computing? Distributed computing is decentralized and parallel Computers speak to each other over a network, now days known as the “Internet”. Similar to clustering, but much cheaper and infinitely times more scalable. Heterogeneous We don't care what kind of hardware you have We don't care what OS you run We don't care about your geographical location Only two requirements: SAGE Internet connectivity Lots of IDLE computer time we could utilize to solve interesting math problems!

Examples of Distributed Computing distributed.net Attemps to break various encryption standards (Finished RC5-64 in 2002, working on RC5-72) SETI@Home Searches for signs of extra-terrestrial intelligence Folding@Home Tries to understand why proteins misfold Many more... for a good list, check out: http://en.wikipedia.org/wiki/List_of_distributed_computing_projects Oh...I almost forgot to mention GIMPS, the Great Internet Mersenne Prime Search

And then there is GIMPS Great Internet Mersenne Prime Search On December 15, 2005, Dr. Curtis Cooper and Dr. Steven Boone, professors at Central Missouri State University, discovered the 43rd Mersenne Prime, 2^30,402,457-1

How to integrate distributed computing with SAGE Client-Server Model Using robust and yet simple python frameworks We need XML-RPC, BSDDB and a thread safe Queue. Those are almost enough to accomplish this! What python offers with it's standard library: SimpleXMLRPCServer bsddb thread safe Queue

Just like 1-2-3 How easy is it to create an XML-RPC server in python? Simple as 1-2-3! (1) import SimpleXMLRPCServer (2) server = SimpleXMLRPCServer.SimpleXMLRPCServer(('localhost', 8000)) (3) server.serve_forever()

What problems are good for distributed computing? Easily parallelized Tasks can be split into smaller chunks Tasks do not depend on other tasks Clients do not need to communicate with one another (this is not P2P) Tractable verification of answers Faulty hardware/software will cause incorrect answers to be produced!

TODO: Discover more problems that we can solve using distributed computing Cremona's Database Test scalability of Python's SimpleXMLRPCServer Possible alternatives include Medusa and Twisted, both are supposed to scale much better Generate fancy statistics Easy job submission by scientists, web interface Protection against hackers/crackers/cheaters Google Summer of Code.