Seeking prime numbers quickly through parallel-computing Daniel J. Wright.

Slides:



Advertisements
Similar presentations
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Advertisements

Operating System.
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
Chapter 19: Network Management Business Data Communications, 5e.
Multiprocessing with SAS ® Software Now Bill Fehlner, Kathleen Wong, Kifah Mansour SAS Toronto.
Threads Section 2.2. Introduction to threads A thread (of execution) is a light-weight process –Threads reside within processes. –They share one address.
Cryptography and Network Security
1 Processes and Pipes COS 217 Professor Jennifer Rexford.
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
AES clear a replacement for DES was needed
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
Cryptography and Network Security Chapter 5. Chapter 5 –Advanced Encryption Standard "It seems very simple." "It is very simple. But if you don't know.
Fall 2001CS 4471 Chapter 2: Performance CS 447 Jason Bakos.
Operating Systems.
Centralized and Client/Server Architecture and Classification of DBMS
3.1Introduction to CPU Central processing unit etched on silicon chip called microprocessor Contain tens of millions of tiny transistors Key components:
Microsoft ® Application Virtualization 4.5 Infrastructure Planning and Design Series.
GPGPU platforms GP - General Purpose computation using GPU
Lecture 5 Overview Does DES Work? Differential Cryptanalysis Idea – Use two plaintext that barely differ – Study the difference in the corresponding.
Digital Graphics and Computers. Hardware and Software Working with graphic images requires suitable hardware and software to produce the best results.
Week 6 Operating Systems.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
Computer Programming My Home Page My Paper Job Description Computer programmers write, test, and maintain the detailed instructions, called programs,
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
Operating systems CHAPTER 7.
Internet Addressing. When your computer is on the Internet, anything you do requires data to be transmitted and received. For example, when you visit.
Map Reduce: Simplified Data Processing On Large Clusters Jeffery Dean and Sanjay Ghemawat (Google Inc.) OSDI 2004 (Operating Systems Design and Implementation)
Chapter 4 Threads, SMP, and Microkernels Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E.
Chapter 4 System Software.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
Introduction To Computer System
Computer Hardware & Software and Emerging Trend & Technologies Yong Choi School of Business CSU, Bakersfield.
Unit - 1 Basic Computer Architecture P. Sugin Benzigar.
Classification of Computers
Effect Of Message Size and Number of Clients on WS Frameworks For CIS* Service Oriented Computing Dariusz Grabka Gerett Commeford Jack Cole.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Frontiers in Massive Data Analysis Chapter 3.  Difficult to include data from multiple sources  Each organization develops a unique way of representing.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Database Architectures Database System Architectures Considerations – Data storage: Where do the data and DBMS reside? – Processing: Where.
Chapter 7 Operating Systems. Define the purpose and functions of an operating system. Understand the components of an operating system. Understand the.
Chapter 1 Computer Systems. Why study Computer Architecture? Examples Web Browsing - how does the browser access pages from a server? How can we create.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Server to Server Communication Redis as an enabler Orion Free
Copyright © 2011 Curt Hill MIMD Multiple Instructions Multiple Data.
10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development.
Making Watson Fast Daniel Brown HON111. Need for Watson to be fast to play Jeopardy successfully – All computations have to be done in a few seconds –
An operating system is the software that makes everything in the computer work together smoothly and efficiently. What is an Operating System?
Operating Systems CSE 411 CPU Management Sept Lecture 10 Instructor: Bhuvan Urgaonkar.
HIGUCHI Takeo Department of Physics, Faulty of Science, University of Tokyo Representing dBASF Development Team BELLE/CHEP20001 Distributed BELLE Analysis.
I NTRODUCTION TO N ETWORK A DMINISTRATION. W HAT IS A N ETWORK ? A network is a group of computers connected to each other to share information. Networks.
Cryptography and Its Algorithms Scott Chappell. What is Cryptography?  Definition: the art of writing or solving codes.
D R A T D R A T ABSTRACT Every semester each department at Iowa State University has to assign its faculty members and teaching assistants (TAs) to the.
Course Instructor: Hira Farman Course : BY:HIRA FARMAN.
Week1: Introduction to Computer Networks. Copyright © 2012 Cengage Learning. All rights reserved.2 Objectives 2 Describe basic computer components and.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 OS 1.
Ch 26 & 27 Operating Systems.  Understand the purpose of an operating system  Be able to describe the tasks performed by an operating system.
M211 – Central Processing Unit
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.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
OPERATING SYSTEM REVIEW. System Software The programs that control and maintain the operation of the computer and its devices The two parts of system.
Memory Management.
Design Components are Code Components
Operating System.
Teaching Computing to GCSE
Design Components are Code Components
Multithreaded Programming
Example of an early computer system. Classification of operating systems. Operating systems can be grouped into the following categories: Supercomputing.
CS703 – Advanced Operating Systems
Presentation transcript:

Seeking prime numbers quickly through parallel-computing Daniel J. Wright

Seeking prime numbers quickly through parallel-computing Reasoning / Background Project Goals Methodology and Assumptions Software Description Result Data Conclusions

Reasoning / Background DES: U.S. Government Data Encryption Standard: 72,057,594,037,927,936 (72 quadrillion) possible keys. –Cracked by the Electronic Frontier Foundation’s “Deep Crack” software and hardware in just over 22 hours, trying 245 billion keys per second. –How?

Parallel Processing!!! Multiple CPU’s networked together and assigned only a portion of the entire work to be completed.

Reasoning / Background RC5: Public key encryption –Two keys (one public and one private) are generated based on the factors of a third number. –Recipe for a hard-to-factor number: Multiply two very large prime numbers together. –How do we find large prime numbers quickly?

Parallel Processing!!! Multiple CPU’s networked together to find very large prime numbers faster than any one machine could.

Project Goals To develop software that utilizes multiple CPUs to solve a problem more quickly than any one of the CPUs alone. To demonstrate a usage for legacy equipment. To implement the software within a frame of three months.

Description Two sets of software were written for comparison purposes. –Standalone version designed to find prime numbers very quickly. –Networked version designed to cooperate with multiple PCs to find the same range of prime numbers.

Methodologies and Assumptions Finding prime numbers is not a hard task. Fast prime number algorithms are not 100% effective. The networked version uses identical algorithms for actually calculating the primes. Both software versions are capable of benchmarking themselves.

Software Description Standalone Version: –Accepts all project details on the command line. –Uses the Rabin-Miller algorithm for finding prime numbers. –Outputs resulting data to pre-designated output files. Networked Client: –Accepts project details from the project server. –Uses the Rabin-Miller algorithm for finding prime numbers. –Sends resulting data back to the server.

Software Description Networked Server: –Accepts project details from the command line. –Utilizes multiple threads to allow concurrent access of all of the clients at the same time. –Handles all data flow to and from the the clients with a central database object. –Outputs the results of all the clients work to pre-designated output files.

Software Description Considerations: –The central database must be able to handle the critical section problem for an unlimited number of processes. –The central database must be able to intelligently assign blocks of numbers to each client so that all clients finish in the same amount of time. –The central database must operate efficiently.

Software Description Central Database: –Wrapper object holding 6 separate object- oriented databases. –Project Information Database - Maintains overall status information regarding the rest of the databases. –Client Table - Maintains listing of all clients that are registered with the database along with current assignment and benchmark information.

Software Description Central Database: (Continued) –Unassigned List, Assigned List, Done List, Prime List Uses polymorphism to inherit the list class. –List Class: Contains the Unassigned Record, Assigned Record, Done Record and Prime Record which are all use polymorphism to inherit the record class.

Resources Hardly Any! Project needed to demonstrate a positive usage for legacy equipment. –Developed with GCC on a Pentium 100 running Red Hat Linux 5.1. –Tested on multiple Linux work stations and legacy Sun Sparc Stations.

Results: Standalone Version - Pentium 100

Results: All primes between 1 and 25,000: –One system was able to process 260 numbers per second. –Two systems cooperating were able to process 454 numbers per second. –An increase of 75% !

Results: All primes between 1 and 250,000: –One system was able to process 43 numbers per second. –Two systems were able to process 134 numbers per second. –An increase of 210% !

Results: All primes between 1 and 250,000: –Some Sun Sparc Stations were unable to complete the project as a standalone system due to CPU time limits. –Other workstations that managed to complete the project processed an average of 25 numbers per second. –In a combined effort, 9 workstations were able to process 250,000 numbers at a rate of 200 numbers per second.

Conclusions: Parallel processing improves processing speed. Legacy systems can still be powerful machines if there are enough of them. As ubiquitous computing becomes more prominent, the processing of data can not be limited by the capabilities of any one system.

For further information Project documentation: – RSA Encryption – Unix network programming – Unix interprocess communication –