dr. john clevengerathena.ecs.csus.edu/~clevengr/209/csc209presentation.24november2015.pdfdr. john...

30
Dr. John Clevenger Professor of Computer Science, Emeritus California State University, Sacramento Technical Director ACM International Collegiate Programming Contest

Upload: others

Post on 28-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Dr. John Clevenger• Professor of Computer Science, Emeritus

California State University, Sacramento

• Technical DirectorACM International Collegiate Programming Contest

Page 2: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Applied Research Areas Operating Systems

Computer Graphics

Computer Game Architecture

Programming Contests

Dr. John Clevenger -- CSc 209

Page 3: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

What’s a Programming Contest ? Teams

Judges

Problems

Scoreboards and Scoring Algorithms

System Support Software

Dr. John Clevenger -- CSc 209

Page 4: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

The International Collegiate Programming Contest (“ICPC”)

Competition between University Teams around the world

Established by ACM in 1977

Sponsored by IBM since 1997

Multi‐tiered contest

Local university contests

Regional Contests

World Finals Contest

Dr. John Clevenger -- CSc 209

Page 5: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

ICPC 2015‐16

Dr. John Clevenger -- CSc 209

38,160 student contestants

2,534 universities

101 countries

459 sites spread over six “super‐regions”

40th Annual World Finals:  May 15‐20, 2016 in Phuket, Thailand

http://icpc.baylor.edu

Page 6: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

ICPC World Finals

Dr. John Clevenger -- CSc 209

Page 7: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Programming Contest Software Contest Control System (CCS)

Scoreboard/Presentation Systems

Contest Data Server (CDS)

Balloon Management Software

Analytic Tools

Live TV Presentations

Security Tools

Dr. John Clevenger -- CSc 209

Page 8: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Contest Control Systems

Dr. John Clevenger -- CSc 209

Server

Team1

Team2

TeamN

Admin

Automated Judge (AJ)

Scoreboard

Server …

Human Judge

Automated Judge (AJ)

Human Judge…

Page 9: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Dr. John Clevenger -- CSc 209

The CSUS  “PC2” CCS Used in contests around the world (including at 17 different ICPC 

World Finals)

PC2 Downloadsas of Spring 2014

Page 10: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

ICPC Tools  (https://icpc.baylor.edu/icpctools/) Resolver

Balloon Manager

Presentation System

Presentation Manager

Contest Data Server

Coach View

Contest Utilities

Dr. John Clevenger -- CSc 209

Page 11: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

The ICPC “Resolver”

Dr. John Clevenger -- CSc 209

Page 12: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

ICPC Contest Data Services

Dr. John Clevenger -- CSc 209

Page 13: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Research Projects:

Cloud Computing

ICPC Tools Development

PC2 Extensions & Enhancements

Dr. John Clevenger -- CSc 209

Page 14: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Cloud Computing Models

Dr. John Clevenger -- CSc 209

Infrastructure as a Service (IaaS)(Virtual machines, servers, storage, …)

Platform as a Service (PaaS)(Programming tools, databases, web servers, …)

Software as a Service (SaaS)Email, messaging, payroll processing, CAD, accounting,

customer relations, games and VR, …

Web clients

(browsers,

mobile apps,

thin clients,

terminal emulators,

…)

Page 15: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Contest as a Service (CaaS)

Dr. John Clevenger -- CSc 209

Software as a Service (SaaS)

Contest Server

Contest Admin

Contest AutoJudge

Contest Human Judge

Contest Team

Contest Scoreboard

ContestAdministrator

Page 16: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

CaaS Requirements Contest setup

Component “spin‐up”o servers, admins, teams, judges “as needed”

Load balancing/monitoring

Using existing support facilitieso Application servers (TomCat, Websphere)o Dockero Cloud Foundryo IBM Bluemix

Dr. John Clevenger -- CSc 209

Page 17: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Research Topics/Areas:

CaaS Architecture Specification

Prototype Module Implementations

Deployment Approaches

o Docker, Cloud Foundry, other?

Virtualized Judging Performance

Dr. John Clevenger -- CSc 209

Page 18: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Virtualized AutoJudging

Current approach:  VM servers, physical judges

Can Judging be done on VMs ? Fairly? Efficiently?

Difficulties: Differences between physical and virtual judges Differences between distinct virtual judges

Dr. John Clevenger -- CSc 209

Server

TeamN

Team1

AJ … AJ

Page 19: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Research Projects:

Cloud Computing

ICPC Tools Development

PC2 Extensions & Enhancements

Dr. John Clevenger -- CSc 209

Page 20: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

ICPC Tools Development ProjectsResolver Enhancements

oAward GeneratoroDemo Mode video

Dr. John Clevenger -- CSc 209

CCSEventFeed

Award Generator

Page 21: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

ICPC Tools Development ProjectsBalloon Manager Floor Map Generator

Dr. John Clevenger -- CSc 209

Page 22: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

ICPC Tools Development ProjectsMobile CDS Client

Dr. John Clevenger -- CSc 209

Mobile CDS Control App

CDSREST API

Page 23: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

ICPC Tools Development ProjectsEvent Feed Monitor

Dr. John Clevenger -- CSc 209

Event Feed Comparator

GUI Notifications

Page 24: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Research Projects:

Cloud Computing

ICPC Tools Development

PC2 Extensions & Enhancements

Dr. John Clevenger -- CSc 209

Page 25: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

PC2 Development Projects

ICPC Contest Management System (CMS) Web Services interface

Local Team Registration interface

External File Manager for large files

Windows “Sandboxing”

Dr. John Clevenger -- CSc 209

Page 26: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

ICPC Web Services 

Dr. John Clevenger -- CSc 209

Current system:

ServerTeams

PC2

Admin

Judges

Scoreboard

ICPC HQ (Baylor

University)

Contest Database

Manual Preprocessing

Contest Config

Manual Postprocessing

PC2 initialization data

Contest

Results

Replace with calls to ICPC CMS Web Services

Page 27: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Local Registration System

Develop a web‐based registration system for local contests

Provide back‐end support for MySQL

Extend PC2 to allow loading of MySQL‐stored teams

Provide an interface such that other MySQL team databases can be loaded 

Dr. John Clevenger -- CSc 209

Page 28: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Windows Sandboxing Execution on Judge’s machine is a 

security problem

Team submissions must be “sandboxed” on AJ

Java:  built‐in  Security Manager

Linux: kernel‐level system calls

Open:  C/C++ under Windows

Dr. John Clevenger -- CSc 209

Server

Team AJ

Sandbox

Page 29: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Graduate Research Positions Paid 

Limited (both in number and $$) Focused primarily on Cloud Computing Competitive, based on skills

Sponsored Flexible

Dr. John Clevenger -- CSc 209

Page 30: Dr. John Clevengerathena.ecs.csus.edu/~clevengr/209/CSc209Presentation.24November2015.pdfDr. John Clevenger -- CSc 209 Infrastructure as a Service (IaaS) (Virtual machines, servers,

Contact Info / Resumes:Dr. John Clevenger

email:  [email protected] 

office:  RVR 5018

Hours:  by appointment

Thank You!

Dr. John Clevenger -- CSc 209