Primers CMSC 491 Hadoop-Based Distributed Computing Spring 2015 Adam Shook Some content adapted from Dr. Kalpakis’s CMSC 621 slides.

Slides:



Advertisements
Similar presentations
Distributed Data Processing
Advertisements

Lab#1 (14/3/1431h) Introduction To java programming cs425
The road to reliable, autonomous distributed systems
Chapter 1: Introduction
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
Chapter 9: Moving to Design
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Virtual Network Servers. What is a Server? 1. A software application that provides a specific one or more services to other computers  Example: Apache.
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
INTRODUCTION TO CLOUD COMPUTING Cs 595 Lecture 5 2/11/2015.
BASIC JAVA PROGRAMMING TUTORIAL. History  James Gosling and Sun Microsystems  Oak  Java, May 20, 1995, Sun World  Hot Java –The first Java-enabled.
1.Training and education 2.Consulting 3.Travel 4.Hardware 5.Software Which of the following is not included in a firm’s IT infrastructure investments?
3 Cloud Computing.
Ch 1. Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2012.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
(C) 2010 Pearson Education, Inc. All rights reserved.  Java programs normally go through five phases  edit  compile  load  verify  execute.
Presented by: Mojtaba Khezrian. Agenda Object Creation Object Storage More on Arrays Parameter Passing For Each VarArgs Spring 2014Sharif University of.
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
CS525: Special Topics in DBs Large-Scale Data Management Hadoop/MapReduce Computing Paradigm Spring 2013 WPI, Mohamed Eltabakh 1.
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 2.
Introduction to Interactive Media Interactive Media Tools: Software.
STORAGE ARCHITECTURE/ EXECUTIVE: Virtualization It’s not what you think you’re buying. John Blackman Independent Storage Consultant.
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 1 Introduction to.
Jaeki Song ISQS6337 JAVA Lecture 03 Introduction to Java -The First Java Application-
Lecture :2 1.  DEFENTION : Java is a programming language expressly designed for use in the distributed environment of the Internet. It was designed.
Basics of Java IMPORTANT: Read Chap 1-6 of How to think like a… Lecture 3.
OS2- Sem ; R. Jalili Introduction Chapter 1.
4-Nov-15 Air Force Institute of Technology Electrical and Computer Engineering Object-Oriented Programming Design Topic 1: The Java Environment Maj Joel.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
We will talking about story of JAVA language. By Kristsada Songpartom.
J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition Second Edition D.S. Malik D.S. Malik.
Development of Computers. Hardware 1. Original concept: Charles Babbage 1840’s 2. 4 basic components of a computer system: input store mill output (Now:
JAVA Programming “When you are willing to make sacrifices for a great cause, you will never be alone.” Instructor: รัฐภูมิ เถื่อนถนอม
1 The JAVA Language Object Oriented Technology Mithani Binjan M.
© 2012 Pearson Education, Inc. All rights reserved types of Java programs Application – Stand-alone program (run without a web browser) – Relaxed.
Today… “Hello World” ritual. Brief History of Java & How Java Works. Introduction to Java class structure. But first, next slide shows Java is No. 1 programming.
introductory lecture on java programming
ITP 109 Week 2 Trina Gregory Introduction to Java.
Distributed Computing Primer UMBC CMSC 491 Hadoop-Based Distributed Computing Spring 2016 Adam Shook Some content adapted from Dr. Kalpakis’s CMSC 621.
Cloud Computing 3. TECHNOLOGY GUIDE 3: Cloud Computing 2 Copyright John Wiley & Sons Canada.
JAVA TRAINING IN NOIDA. JAVA Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented and specifically.
Memory Management in Java Mr. Gerb Computer Science 4.
SESSION 1 Introduction in Java. Objectives Introduce classes and objects Starting with Java Introduce JDK Writing a simple Java program Using comments.
 It is a pure oops language and a high level language.  It was developed at sun microsystems by James Gosling.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Introduction CMSC 202 Fall Instructors Mr. Ryan Bergeron – Lecture Section 01 Tues/Thu 1:00 – 2:15 am, Sondheim 111 – Lecture Section 04 Tues/Thu.
Platform as a Service (PaaS)
Platform as a Service (PaaS)
Introduction to Distributed Platforms
TECHNOLOGY GUIDE THREE
Chapter 1: Introduction
Chapter 1: Introduction
Java programming lecture one
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
TECHNOLOGY GUIDE THREE
Advanced Operating Systems
CS-0401 INTERMEDIATE PROGRAMMING USING JAVA
3 Cloud Computing.
Units with – James tedder
Units with – James tedder
Last.Backend is a Continuous Delivery Platform for Developers and Dev Teams, Allowing Them to Manage and Deploy Applications Easier and Faster MICROSOFT.
Introduction To Distributed Systems
Chap 1. Getting Started Objectives
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
TECHNOLOGY GUIDE THREE
Presentation transcript:

Primers CMSC 491 Hadoop-Based Distributed Computing Spring 2015 Adam Shook Some content adapted from Dr. Kalpakis’s CMSC 621 slides

Agenda Distributed Computing – Evolution of Computing Infrastructure – Networking Infrastructure – Properties of Distributed Systems – Example System Architectures Java Linux

EVOLUTION OF COMPUTING INFRASTRUCTURE

Mainframe – 50s to 70s Custom hardware Custom low-level specialized code Very expensive solutions

Client/Server – 80s to 00s IT-led architectures More portable solutions Scalable solutions based on demand Reign of the Enterprise Data Warehouse

Cloud – 00s to Today Consumer-grade infrastructure Growing IaaS and PaaS markets Data revolution Focus on applications and not infrastructure

Where does Hadoop fit? A piece of your data infrastructure – Can crunch data for analytics – Can expose data for web applications Exploration of raw data Augments today’s infrastructure IMO, a big toolbox that can do a bit of everything

NETWORKING INFRASTRUCTURE

Single Server HDD CPU RAM NIC Server Scale Up Scale Out Faster CPUs Bigger Storage More Servers

Local-Area Network (LAN) Rack HDD CPU RAM NIC Server HDD CPU RAM NIC Server HDD CPU RAM NIC Server HDD CPU RAM NIC Server Rack HDD CPU RAM NIC Server HDD CPU RAM NIC Server HDD CPU RAM NIC Server HDD CPU RAM NIC Server WAN Gateway

Wide Area Network (WAN) London, England Beijing, China New York, NY

PROPERTIES OF DISTRIBUTED SYSTEMS

Distributed Systems The development of low-cost powerful microprocessors, together with the invention of high speed networks, enable us to construct computer systems by connecting a large number of computers A distributed system is a collection of independent computers that appears to its users as a single coherent system.

Properties of Distributed Systems Reliability Scalability Availability Efficiency CAP Theorem

Reliability Can the system deliver services in face of several component failures?

Scalability Can the system scale to support a growing number of tasks?

Availability How much latency is imposed on the system when a failure occurs?

Efficiency How efficient is the system, in terms of latency and throughput?

CAP Theorem Consistent Available Partition Tolerant Trade-off between Consistency and Availability

Stateful vs. Stateless Whether or not a distributed system saves their state on an attached device for recovery

EXAMPLE SYSTEM ARCHITECTURES

Simple Client/Server

Multi-Tiered Client/Server

Round-Robin Client/Server

Java Object-oriented class-based programming language designed for code reuse and portability Programs compile to bytecode that can run on any Java Virtual Machine (JVM) Memory is managed for you and automatically cleaned up by the JVM’s garbage collector Syntax is similar to C++

public class Animal { // Member Variables protected int age = 0; protected String species = null; public Animal() { } public Animal(int a, String s) { setAge(a); setSpecies(s); } public String getSpecies() { return species; } public void setSpecies(String s) { this.species = s; } public int getAge() { return age; } public void setAge(int a) { this.age = a; } public String toString() { return age + " " + species } ; }

// Inherits all the public/protected items from Animal public class Human extends Animal { // Additional member Variables private String name = null public Human(String name, int age) { super(age, "Human”); setName(name); } public String getName() { return name; } public void setName(String n) { this.name = n; } public String toString() { return name + " " + super.toString() } ; }

// Main class to be executed public class Main { public static void main(String[] args) { Animal a = new Animal(); a.setAge(10); a.setSpecies("Hiphopopotamus”); System.out.println(a); a = new Human("Adam", 85); System.out.println(a); } } 10 Hiphopopotamus Adam 85 Human

// Templated class public class Pair { public FIRST first; public SECOND second; public String toString() { return first + ":" + second; } } public class Main { public static void main(String[] args) { Pair p1 = new Pair (); p1.first = 10; p1.second = "Rhymenocerous"; System.out.println(p1); Pair p2 = new Pair (); p2.first = new Human("Adam", 85); p2.second = "Hiphopopotamus"; System.out.println(p2); } } 10:Rhymenocerous Adam 85 Human:Hiphopopotamus

101’d Simply scratched the surface of Java Includes interfaces, abstract classes, lots of libraries for data structures, networking, multi-threading, etc. We will be using Eclipse and Maven in this class

Let’s look at Maven sorry

LINUX

Linux Reference A free and open source operating system In this course, we live in Eclipse and the command line Mastery of 'vi' gets you +4 charisma lpic1-v / uickref/linux.pdf

References Google Images v / v / ickref/linux.pdf ickref/linux.pdf