Agent-Based Computing CSS599 Winter 2018

Slides:



Advertisements
Similar presentations
SkewReduce YongChul Kwon Magdalena Balazinska, Bill Howe, Jerome Rolia* University of Washington, *HP Labs Skew-Resistant Parallel Processing of Feature-Extracting.
Advertisements

Scalable Multi-Cache Simulation Using GPUs Michael Moeng Sangyeun Cho Rami Melhem University of Pittsburgh.
Advisor: Professor Fukuda Student: Jason Woodring Climate analysis software to assist climate researchers in the detection of extreme weather events.
Multi Agent Simulation and its optimization over parallel architecture using CUDA™ Abdur Rahman and Bilal Khan NEDUET(Department Of Computer and Information.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CS-334: Computer.
Big Kernel: High Performance CPU-GPU Communication Pipelining for Big Data style Applications Sajitha Naduvil-Vadukootu CSC 8530 (Parallel Algorithms)
Chris Rouse CSS Cooperative Education Faculty Research Internship Winter / Spring 2014.
CSS595 SUMMER 2014 ZACH MA ADVISOR: MUNEHIRO FUKUDA Multi-Agent Transportation Simulation Using MASS MATMASSim.
COMP 14 – 02: Introduction to Programming Andrew Leaver-Fay August 31, 2005 Monday/Wednesday 3-4:15 pm Peabody 217 Friday 3-3:50pm Peabody 217.
Computing Platform Benchmark By Boonyarit Changaival King Mongkut’s University of Technology Thonburi (KMUTT)
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Parallelization: Conway’s Game of Life. Cellular automata: Important for science Biology – Mapping brain tumor growth Ecology – Interactions of species.
Ch 4. The Evolution of Analytic Scalability
Distributed Multi-Agent Management in a parallel-programming simulation and analysis environment: diffusion, guarded migration, merger and termination.
COLLABORATIVE EXECUTION ENVIRONMENT FOR HETEROGENEOUS PARALLEL SYSTEMS Aleksandar Ili´c, Leonel Sousa 2010 IEEE International Symposium on Parallel & Distributed.
Jpeg Analyzer Ben Applegate CSS497 Advisor: Dr. Munehiro Fukuda.
Chapter 5 Operating System Support. Outline Operating system - Objective and function - types of OS Scheduling - Long term scheduling - Medium term scheduling.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
NIH Resource for Biomolecular Modeling and Bioinformatics Beckman Institute, UIUC NAMD Development Goals L.V. (Sanjay) Kale Professor.
NIH Resource for Biomolecular Modeling and Bioinformatics Beckman Institute, UIUC NAMD Development Goals L.V. (Sanjay) Kale Professor.
April 23, 2013Research in Progress Seminar MASS: A Multi-Agent Spatial Simulation Library Munehiro Fukuda, Ph.D. School of Science, Technology, Engineering,
1)Leverage raw computational power of GPU  Magnitude performance gains possible.
PDAC-10 Middleware Solutions for Data- Intensive (Scientific) Computing on Clouds Gagan Agrawal Ohio State University (Joint Work with Tekin Bicer, David.
Accelerating K-Means Clustering with Parallel Implementations and GPU Computing Janki Bhimani Miriam Leeser Ningfang Mi
CT101: Computing Systems Introduction to Operating Systems.
Hadoop Javad Azimi May What is Hadoop? Software platform that lets one easily write and run applications that process vast amounts of data. It includes:
Sub-fields of computer science. Sub-fields of computer science.
Geoffrey Fox Panel Talk: February
Agent Teamwork Research Assistant
MASS Java Documentation, Verification, and Testing
Big Data is a Big Deal!.
Modeling Big Data Execution speed limited by: Model complexity
Microprocessors Personal Computers Embedded Systems Programmable Logic
Thank you, chairman for the kind introduction. And hello, everyone.
Pagerank and Betweenness centrality on Big Taxi Trajectory Graph
Tutorial: Big Data Algorithms and Applications Under Hadoop
CSS434 Presentation Guide
Operating Systems (CS 340 D)
Processes and Threads Processes and their scheduling
March 2, 2016 UWB Shizuoka Univ. Workshop
OPERATING SYSTEMS CS3502 Fall 2017
Process Management Presented By Aditya Gupta Assistant Professor
William Stallings Computer Organization and Architecture
Real-Time Ray Tracing Stefan Popov.
Bioagents and Biorobots David Kadleček, Michal Petrus, Pavel Nahodil
Is System X for Me? Cal Ribbens Computer Science Department
Characterization of Parallel Scientific Simulations
Hadoop Clusters Tess Fulkerson.
Real-time Software Design
Apache Spark Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing Aditya Waghaye October 3, 2016 CS848 – University.
Current Issues or Challenges in Visual Analytics
Accelerating MapReduce on a Coupled CPU-GPU Architecture
Class project by Piyush Ranjan Satapathy & Van Lepham
به نام خدا Big Data and a New Look at Communication Networks Babak Khalaj Sharif University of Technology Department of Electrical Engineering.
IXPUG Abstract Submission Instructions
MASS CUDA Performance Analysis and Improvement
Ch 4. The Evolution of Analytic Scalability
Data-Intensive Computing: From Clouds to GPU Clusters
Operating Systems.
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
What is Concurrent Programming?
Software Acceleration in Hybrid Systems Xiaoqiao (XQ) Meng IBM T. J
Operating System Introduction.
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Chapter 2 Operating System Overview
CSE 153 Design of Operating Systems Winter 2019
Chapter 1: Introduction CSS503 Systems Programming
CMPE 152: Compiler Design May 2 Class Meeting
Convergence of Big Data and Extreme Computing
Presentation transcript:

Agent-Based Computing CSS599 Winter 2018 Munehiro Fukuda, Ph.D. Computing & Software Systems University of Washington Bothell January 24, 2017 CSS599 Talk

Outline Software agents Research Topic 1 Research Topic 2 Agent-Based Models Research Topic 2 Agent-Based Big Data Analysis Student Projects Past students achievements Current student projects Expected activities January 24, 2017 CSS599 Talk

Software Agents Cognitive Agents Reactive Agents Our focus coarse-grain execution entities that achieve network-administrative and computation-intensive task, based on their behavioral intelligence fine-grain entities, each reacting to its environment with simple rules. Our focus January 24, 2017 CSS599 Talk

Topic 1 Agent-Based Simulation January 24, 2017 CSS599 Talk

Macro- versus Micro-Simulation Top-down versus Bottom-up Approach Macroscopic/Top-down Microscopic/Bottom-up Mathematical models Schroedinger eq. (for wave) Euler eq. (for fluid dynamics) Easy verification Mathematical verification Easy access to public data (e.g. traffic flow) Inaccurate enough No support of object-interaction Difficulty in parallelization Space partition/mapping etc. Focus on an emergent, collective group behavior of many objects Molecular level Pedestrian/vehicle level Difficulty verification Calibration required Fewer real data available to the public (e.g. congestion at a traffic light) Scalable computation required Easy parallelization No partition required (yet object-CPU mapping needed) January 24, 2017 CSS599 Talk

Molecular Dynamics Conventional Top-down Approach for ( int i = 0; i < N; i++ ) for ( int j = 0; j < I; j++ ) if ( sqrt( pow( x[i] – x[j], 2.0 ) + pow( y[i] – y[j], 2.0 ) ) < forceCutoff ) { ax[i] += fOver2 * ( x[i] – x[j] ); ax[j] -= fOver2 * ( x[i] – x[j] ); ay[i] += fOver2 * ( y[i] – y[j] ); ay[i] += fOver2 * ( y[i] – y[j] ); } i = molecular_range_begin[rank]; i < molecular_range_end[rank]; i++ ) MPI_Allreduce( ax, tmp_ax, N, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD); MPI_Allreduce( ay, tmp_ay, N, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD); computer 0 computer 1 Computer 2 January 24, 2017 CSS599 Talk

Molecular Dynamics Agent-based bottom-up Approach Each agent: compute( int t ) { for ( Agent neighbor : place.agents ){ my_ax += fOver2 * ( my.x – neighbor.x ); my_ay += fOver2 * ( my.y – neighbor.y ); } Agent-Based Computing Middleware computer 0 computer 1 Computer 2 January 24, 2017 CSS599 Talk

Multi-Agent Spatial Simulation January 24, 2017 CSS599 Talk

MASS Specification January 24, 2017 CSS599 Talk Public static void main( String[ ] args ) { MASS.init( args ); Places space = new Places( handle, “MySpace”, params, xSize, ySize); Agents agents = new Agents( handle, “MyAgents”, params, space, population ); space.callAll( MySpace.func1, params ); space.exchangeAll( MySpace.func2, neighbors ); agents.exchangeAll( MyAgents.func3 ); agents.manageAll( ); MASS.finish( ); } func1( ) … func2( ) func3( ) January 24, 2017 CSS599 Talk

Implementation Status The latest status is given at: http://depts.washington.edu/dslab/MASS/index.html MASS Java Intended for agent-based big data. MASS C++ Intended for agent-based models. MASS GPU In progress Debugger Available for MASS Java and C++ versions Availability Pilot used in CSS534 summer 2012, winter 2015, and autumn 2016 Java and C++ versions arealdy released to publicly https://bitbucket.org/mass_library_developers/ https://bitbucket.org/mass_application_developers/ January 24, 2017 CSS599 Talk

Agent-Based Models in Other Desciplines Biology/Ecology Immune system simulation Epidemic simulation Neural network simulation City Planning Transport simulation Electrical grid Social, Behavioral, and Economic Sciences Ambient intelligence Social network Economic crisis simulation start goal 45 minutes January 24, 2017 CSS599 Talk

Agent-Based Transport Simulation Parallelized by Zach Ma and presented at WSC2015 Road network converted to an adjacency list Programmability LoC Files Original MatSim 5,144 46 Code addition/modification by MASS 585 8 % 11.3% 17.4% Execution performance Vehicle drives converted to agent migration January 24, 2017 CSS599 Talk

Collision-Free Agent Migration Presented at FedCSIS/JAWS 2017 Sequential migration Upper-left agents have a higher priority than lower-right agents. Parallel migration All agents can migrate at once. We need some prioritization. MATSim Traffic simulation Greedy parallel migration Location-ordered migration Direction-ordered migration Sequential migration collision another direction Distributed termination detection required 5 ordered migrations 4 ordered migration direction January 24, 2017 CSS599 Talk

Our Future Goals Investigating what parallel-programming features attract scientists who are not necessarily computing specialists: Parallelizing ABM applications of our collaborators. Developing benchmark testsets that cover various agent behaviors. January 24, 2017 CSS599 Talk

Topic 2 Agent-Based Data Analysis January 24, 2017 CSS599 Talk

Topic 2: Agent-Based Big Data How different from conventional approach when counting triangles in a graph for example MapReduce, Spark, and Storm Agent-based Big Data Analytics stay passive to receive data. All data must be examined. Data must be flattend to feed. Analytics actively move over data. Only necessary portion of data can be examined. Data can maintain its structure. Code is written from the driver’s viewpoint. (1,2), (2,1), (2,3), (3,2), (2,4), (4,2), (2,5), (5,2), (3,4), (4,3), (4,5), (5,4) (1, [2]), (2, [1,3,4,5]), (3, [2,4]), (4, [2,3,5]), (5, [2,4]) 1 [(1,2), -], [(1,3), 2], [(2,3), -], [(2,3), 4], [(2,4), -], [(2,4),3], [(2,4), 5], [(2,5), 4], … 2 5 (2,3) [-,4]  (2,3,4), (2,4) [-,3,5] -> (2,4,3), (2,4,5)… (2,3,4), (2,3,4), (2,3,4), (2,4,5), (2,4,5).. (2,3,4), (2,4,5) 3 4 January 24, 2017 CSS599 Talk

Our Target Applications Injecting a group of agents into big data Scientific Computing Climate analysis Prof. Kim’s biological network motif search Data Sciences / Machine Learning K-means clustering K-nearest neighbors GIS/Spatial Data Analysis (represeted by graph problems) Shortest path Chinese postman problem Triangle counting page ranking n1(0.1) n4(0.2) n5(0.383) n3(0.183) n2(0.133) January 24, 2017 CSS599 Talk

Climate Analysis parallelized by Jason Woodring and presented at ICDCS 2017 Detect time of emergence The biggest overhead is reading files into a cluster system January 24, 2017 CSS599 Talk

Biological Network Motif Search with Prof Biological Network Motif Search with Prof. Wooyoung Kim and Presented at HCPP 2015 and BDCloud 2016 A A A R agent spawn request Agent explosion 400,000-node network with motif size 5 5.5 million agents Needs to address Memory allocation overheads Agent management overheads Controlling agent population Don’t spawn too many agents. In Java, Size of each agent = 1M Size of serialized agent = 300B R A R R R R January 24, 2017 CSS599 Talk

Agent-based Clustering Single Clustering Algorithm Batch Clustering Algorithm K-means K-means + Biologically-Inspired Algorithms X X X A Space of Potential Cluster Centroid Sets C1 X X X agent [c1, c2, c3] X X X X X X X X X X swarm X X X X C2 X X X X X X X X C3 X X X X X January 24, 2017 CSS599 Talk

Agent-based K-Nearest Neighbors milliseconds X X X # data items / place (size * size) Sequential MASS Java 100,000 / 1,000 * 1,000 84 92 160,000 / 4,000 * 4,000 138 282 490,000 / 7,000 * 7,000 236 589 X X X T=5 K = 7 X T=4 X X X X X T=3 X X X X T=2 ? X X X T=1 X X X MASS Places size: 100 * 100 400 * 400 700 * 700 So that each place may have 1 or 2 data items. X X X X X X X X X X X Problem: An agent must be spawned by another agent but not any place. This in turn means that we need to populate an agent at each place at the beginning, which is a big overhead. January 24, 2017 CSS599 Talk

Past Student Research Outcome (gradudate students in red and undergraduate students in blue, listed below) Christopher Bowzer, Benjamin Phan, Kasey Cohen, Munehrio Fukuda, Collision-Free Agent Migration in Spatial Simulation, In Proc. of the Joint Agent-oriented Workshops in Synergy JAWS, Prague, Czech Republic, September 3-6, 2017 Jason Woodring, Matthew Sell, Munehiro Fukuda, Hazeline Asuncion, Eric Salathe, A Multi-Agent Parallel Approach to Analyzing Large Climate Data Sets, The 37th IEEE International Conference on Distributed Computing Systems, pages 1639-1648, Atlanta, GA, June 5-8, 2017 Andrew Andersen, Wooyoung Kim, and Munehiro Fukuda, MASS-based NemoProfile Construction for an Efficient Network Motif Search, 2016 Big Data and Cloud Computing – BDCloud’16, October 8-10, 2016 Zhiyuan Ma, Munehiro Fukuda, A Multi-Agent Spatial Simulation Library for Parallelizing Transport Simulation, the 2015 Winter Simulation Conference - WSC 2015, Newport Beach, December 6-9, 2015 Bhargav Mistry, Munehiro Fukuda, Dynamic Load Balancing in Multi-Agent Spatial Simulation, submitted to 2015 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing - PACRIM’15, Victoria, BC, Canada, August 24-26, 2015 – Best Paper Award Matthew Kipps, Wooyoung Kim, Munehiro Fukuda, Agent and Spatial Based Parallelization of Biological Network Motif Search, submitted to 17th IEEE Int’l Conference on High Performance and Communication, New York, August 24-26, 2015 Brett Yasutake, Niko Simonson, Jason Woodring, Nathan Duncan, William Pfeffer, Hazeline Asuncion, Munehiro Fukuda, Eric Salathe, Supporting Provenance in Climate Science Research, In Proc. of 7th International Conference on Information, Process, and Knowledge Management, eKnow 2015, Lisbon, Portugal, February 22-27, 2015 – Best Paper Award Timothy Chuang, Munehiro Fukuda, A Parallel Multi-Agent Spatial Simulation Environment for Cluster Systems, In Proc. of the 16th IEEE International Conference on Computational Science and Engineering - CSE 2013, pages 143-150, Sydney, Australia, December 3-5, 2013 Somu Jabayalan, Munehiro Fukuda, Field-Based Job Dispatch and Migration, In Proc. of 2013 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing - PACRIM'13, pages 52-57, Victoria, BC, Canada, August 27-29, 2013 January 24, 2017 CSS599 Talk

Thesis/Capstone Projects Multi-Agent Simulations Agent-Based Data Analysis Applications Benchmarking MASS-C++ benchmarking (Craig Shih) MASS-GPU benchmarking Clustering, KNN, Graph Algorithms (Collin Gordon) System Design Implementation MASS-GPU version (Lisa Kosiachenko) CPU/GPU Hybrid Architecture Parallel I/O Parallel I/O (Jas Shih) Agent Management Programmability/Usability Auto-description of agent behavior (using Agent-derived classes) GUI to code generation and result visualization from simulation viewpoint Auto-description of agent behavior (using Java annotation) (Matt Sell) GUI to code generation and result visualization from data science viewpoint Future projects in blue January 24, 2017 CSS599 Talk

Agent-Based Clustering: Collin Gordon Use MASS to perform clustering on data points Variant 1 Single Clustering: Uses Agents and Places to compute one set of clusters for a given data set. Example: Call the Ball Algorithm (in progress) Variant 2 Batch Clustering: Uses Agents and Places to compute multiple sets of clusters for a given data set. Example: Best Tool Algorithm (completed) Currently targeting PAAMS, MAS&S, and IEEE for paper submissions. Questions? Email me at colntrev@gmail.com! January 24, 2017 Collin Gordon

Code and Execution January 24, 2017 Collin Gordon

MASS CUDA Lisa Kosiachenko GPU programming model Single Instruction Multiple Thread (SIMT) parallel programming model GPU has many more arithmetic logical units than CPU (on NVIDIA GeForce GTX TITAN Black – 2880 cores in total) January 24, 2017 Lisa Kosiachenko

MASS Current Development Optimization of speed Implementing new features (dynamic agents) January 24, 2017 Lisa Kosiachenko

MASS CUDA Optimization: Utilizing GPU Memory Architecture Fast (visible to a block of threads) Very fast (visible to 1 thread) Slow Slow Fast (read-only) Fast (read-only) January 24, 2017 Lisa Kosiachenko

Expected Activities Research Group Meetings Weekly status report to your lab mates Quarterly research presentation Optional Individual Meetings Weekly progress discussions, code reviews, etc. with the professor, (i.e., me). Programming/Installation We are a product-oriented group. You need to code something or install something useful to manage our projects Publications I recommend you to coauthor conference/journal papers. January 24, 2017 CSS599 Talk

Questions? Please check: http://depts.washington.edu/dslab/ January 24, 2017 CSS599 Talk