CSCI 365 – Introduction to Large Scale Computing

31
CSCI 365 – Introduction to Large Scale Computing

description

CSCI 365 – Introduction to Large Scale Computing. Introductions. Name Year Major Why you are taking this course? Acceptable answers: I am interested in the subject... I needed to fill an upper-level elective... My advisor told me to take the course. What is “Large Scale Computing”?. - PowerPoint PPT Presentation

Transcript of CSCI 365 – Introduction to Large Scale Computing

CSCI 365 – Introduction to Large Scale Computing

Introductions

• Name• Year• Major• Why you are taking this course? Acceptable

answers:– I am interested in the subject...– I needed to fill an upper-level elective...– My advisor told me to take the course...

What is “Large Scale Computing”?

Large Scale Computing

• Developing “really big” applications• Focused on highly available, transaction

processing systems• Applications support or solve complex

problems• Technologies:– Mainframes (IBM System Z, HP NonStop)– Distributed / cloud

Capabilities of a Large Scale System

• Large scale transaction processing– Thousands of transactions per second

• Support thousands of users and programs• Simultaneously access and manage shared

resources• Database storage in Terabytes• Large bandwidth communications

About Me

• Widener Computer Science graduate• Helped setup the initial large scale course at

Widener in participation with the IBM academic initiative

• 6+ years experience in large scale application development at JPMorgan Chase

• Currently in the Mortgage Banking line of business

Credit Card Processing System

• What does a credit card processing system do?– Authorizations: what happens when you swipe– Statements: transaction history, rewards– Customer & account system of record– Interact with network (Visa, MasterCard, acquirers)

• Stats:– 150MM accounts– 20MM transactions per day (peak 600TPS)– Response time under 200ms

COURSE OVERVIEW

Course Objectives

• Understand key concepts required for large scale application development – regardless of technology

• Describe programs from an “application architecture” perspective

• Gain real world insight into the use of computer science concepts

Course Objectives cont’

• Understand the difference in creating applications which run on a PC, web-based applications, and large scale applications

• Become fluent in TLAs / buzzwords

Course Topics

1. System architecture overview2. Introduction to COBOL and JCL3. Data organization and access methods4. Application architecture (SDLC)5. Databases: relational vs. hierarchical6. Transaction processing7. High availability8. Security

Course Format

• Lectures– Review key concepts– Applied and conceptual topics

• Labs– Hands on mainframe experience (see next slide)– Application development assignments

• Online– Utilize and contribute to our course wiki– largescalecomputing.wikispaces.com

Hands on Lab Experience

• Lab exercises will be completed on an IBM z9 mainframe at Marist College– Made available through the IBM academic

initiative• We use a terminal emulator to connect to the

system from either the classroom or your personal computer

Course Wiki

• Wiki contents– Course info (lecture slides, labs, schedule, etc)– General large scale computing information

• Students are expected to utilize the wiki and become active contributors

Course Grading

• 5% lab 1• 20% lab 2• 20% lab 3• 20% exams (2)• 5% lab presentation• 20% final exam• 10% participation

DATA SETS & TSOLecture 1

Quick Background

• IBM mainframe operating system is referred to as ‘Z/OS’

What is a Data Set?

• Z/OS files are called data sets– A data set is a collection of logically related data

records stored on disk– Before data can be written to a data set, it must

be allocated– A data set can contain:• Source program• Macros• Data records used by a program

Types of Data Sets

• There are two basic types of data sets:– Sequential data set• Data stored in a single piece of allocated disk space

– Partitioned data set (PDS)• Data can be sub-divided into multiple individual chunks

or files (members)

12345678901234567890123456789012345678901234567890.

...

Sequential Partitioned

123456

Members

Data Set Naming Conventions

• Sample data set name:KC02124.LAB1.COBOL

• High Level Qualifier: username or catalog• User Determined Qualifier: what this data relates to• Type: what type of data is contained (similar to a file

extension)

High Level Qualifier Type

User Determined Qualifier

Data Set Naming Conventions cont’

• Maximum of 22 name segments (qualifiers)– Level qualifiers separated by ‘.’

• Each level qualifier:– 1 to 8 characters– First character must be alphabetical (A-Z) or

special (@#$)– Remaining: alphabetical, numeric (0-9), or hyphen– Upper case only (not case sensitive)

• Example: KC02124.CSCI365.LAB1.COBOL

PDS Naming Conventions

• Same rules as sequential data sets• Need to specify a member name within the

data set:

KC02124.LAB1.COBOL(HELLO)

KC02124.LAB1.COBOL(FUBAR)

123456

Sequential vs. Partitioned

• Typically, we will use the different data set types as follows:– Sequential: raw data files– PDS: COBOL source / executables, JCL, etc

Physical Data Storage on Z/OS

• Data is stored on a Direct Access Storage Device (DASD)– Disk– Magnetic tape– Optical media

• When you hear ‘DASD’ you should think ‘disk’• Used for storing the OS, data sets, databases,

etc

EBCDIC

• IBM systems since the S/360 use the Extended Binary Coded Decimal Interchange character set

• Developed before ASCII and is also an 8 bit character set

• Z/OS also supports ASCII and UNICODE for web / Java use

Catalogs

• A catalog associates a data set with the volume on which it is located

• Locating a data set on a catalog requires:– Data set name– Volume name– Unit (volume device type)

Z/OS UNIX File System

• Z/OS UNIX System Services (USS) allows Z/OS to access UNIX files

• Follows UNIX standard directory / file structure

• We will not be using USS in this course

How do we Interact with Z/OS?

• TSO– Allows users to log on to Z/OS and use a limited

set of basic commands – This is called using TSO in native mode– Think ‘command line’ interface

• ISPF– Menu structure which sits on top of TSO and

provides a simpler interface for accessing commonly used TSO functions

TSO Overview

• TSO stands for Time Sharing Option• Allows users to create an interactive session

with Z/OS• Basic command prompt

Lab Pre-Tasks

• Create a login and request to be a member of our wiki:– largescalecomputing.wikispaces.com

• Receive your TSO userid– Do not forget your ID!

Lab 1

• Lab 1 is taken from IBM’s ‘Master the Mainframe’ contest

• Follow the instructions on the wiki:– http://largescalecomputing.wikispaces.com/Lab1

• Hints:– Return does not equal “CNTL”– Do not forget your password!