dr. john clevengerathena.ecs.csus.edu/~clevengr/209/csc209presentation.24november2015.pdfdr. john...
TRANSCRIPT
Dr. John Clevenger• Professor of Computer Science, Emeritus
California State University, Sacramento
• Technical DirectorACM International Collegiate Programming Contest
Applied Research Areas Operating Systems
Computer Graphics
Computer Game Architecture
Programming Contests
Dr. John Clevenger -- CSc 209
What’s a Programming Contest ? Teams
Judges
Problems
Scoreboards and Scoring Algorithms
System Support Software
Dr. John Clevenger -- CSc 209
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
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
ICPC World Finals
Dr. John Clevenger -- CSc 209
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
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…
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
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
The ICPC “Resolver”
Dr. John Clevenger -- CSc 209
ICPC Contest Data Services
Dr. John Clevenger -- CSc 209
Research Projects:
Cloud Computing
ICPC Tools Development
PC2 Extensions & Enhancements
Dr. John Clevenger -- CSc 209
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,
…)
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
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
Research Topics/Areas:
CaaS Architecture Specification
Prototype Module Implementations
Deployment Approaches
o Docker, Cloud Foundry, other?
Virtualized Judging Performance
Dr. John Clevenger -- CSc 209
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
…
Research Projects:
Cloud Computing
ICPC Tools Development
PC2 Extensions & Enhancements
Dr. John Clevenger -- CSc 209
ICPC Tools Development ProjectsResolver Enhancements
oAward GeneratoroDemo Mode video
Dr. John Clevenger -- CSc 209
CCSEventFeed
Award Generator
ICPC Tools Development ProjectsBalloon Manager Floor Map Generator
Dr. John Clevenger -- CSc 209
ICPC Tools Development ProjectsMobile CDS Client
Dr. John Clevenger -- CSc 209
Mobile CDS Control App
CDSREST API
ICPC Tools Development ProjectsEvent Feed Monitor
Dr. John Clevenger -- CSc 209
Event Feed Comparator
GUI Notifications
Research Projects:
Cloud Computing
ICPC Tools Development
PC2 Extensions & Enhancements
Dr. John Clevenger -- CSc 209
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
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
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
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
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
Contact Info / Resumes:Dr. John Clevenger
email: [email protected]
office: RVR 5018
Hours: by appointment
Thank You!
Dr. John Clevenger -- CSc 209