Mercurial > hg > Papers > 2017 > kono-gpuvdm
view gpuvdm-cr.ind @ 3:199b0b0c80a7 default tip
fix
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 17 Jun 2017 16:21:33 +0900 |
parents | 9949bf3a5742 |
children |
line wrap: on
line source
-title: Informational infrastructure and management for education in faculty of engineering -author: Shinji KONO, Associate Professor, University of the Ryukyus --What I'm going to talk About our Faculty (Information Engineering, University of the Ryukyus) Part of my research Computer system of our faculty TreeVNC ( our lab's application ) for lecture/seminar --University of the Ryukyus local national university 8000 students Various faculty including Medicine --Faculty of Information Engineering https://ie.u-ryukyu.ac.jp/external-information/ 60 students per year Graduate course --Our research area Artificial Intelligence Robotics Signal Processing Network System Parallel Programming Distributed Programming Circuit design VLSI design Voice recognition Decision Theory --My research area Programming Languages Parallel Processing Distributed Computing Verification of Program Theory and Implementation of Meta Computation http://www.ie.u-ryukyu.ac.jp/%7Ekono/papers.html --My research area (Continuation based C) <center><img src="fig/csds.svg"></center> % brew tap ie-developers/ie % brew install cbc C with Code Segments, which is a slice of codes. Code Segments are connected by parameterized goto. __code code1(int i, int j, __code next(int i, int j)) { i = i + j; goto next(i,j); } A kind of low level language of C. --Gears OS <center><img src="fig/meta.svg"></center> Normal level code is translated into meta level code in CbC. __code code1(struct context *c, int i, int j, int *o_i, int *o_j, enum Code next) { *o_i = i + j; goto meta(c,next); } __code code1_stub(struct context *c) { int i, j, int *o_i, *o_j; enum Code next; ... get i, j etc from the data segment of code1 goto code1(c,i, j, o_i, o_j, next); } __code meta(struct context *c, enum Code next) { goto (context->code[next])(context); } Quite low level, but various kind of customization can be put in the meta section such as __code meta or stub. --GPGPU kernel is a Code Segment Description of a kernel is very similar to a Code Segment, we can use it as a Code Segment. In Meta Computation, CUDA management (such as buffer) Memory management System call --Computer System in Faculty of Engineering <center><img src="fig/ie-sys.pdf"></center> --Computer System in Faculty of Engineering 4 x 2U PC Server KVM on GFS2 ( not VMware ) VM management system written in Rail called Akatsuki Sakura Cloud GMail (thanks to Google) We don't have GPU Cluster, but we can access OIST Kyusyu University Very few faculties use GPU Cluster, if we can use GPU VDM... --Specification Sever x 2 CPU Intel Xeon E5-2699 v3 (2.30GHz / 18 cores) CPU 2 Memory 768GB (32GB x 24) HDD 600GB Maintenance Server CPU Intel Core i7-6700 (3.40GHz / 4 cores) Memory 32GB (8GB x 4) SDD 240GB HDD 4TB SAN iSCSI HDD SAS 1.2TB × 24 15000rpm RAID 6 19.7TB NAS HDD SAS 4.0TB × 24 7200rpm RAID 6 68.5TB x 2 --System usage Web pages (WordPress) Services ( DHCP, LDAP) File Server hg / git Server brew cask server Redmine ( for system management) Jenkins ( for educational ) Akatsuki ( VM management written in Ruby on Rails) --Management and maintenance of the system These systems are managed by our faculties and students. Design of the systems Implementation of the systems Backup Incident response ( power failure or security flaw ) --Every student has a MacBookPro From 2002, at that time students buy iBook Dual USB. OS X 10.0. The only Company supported consumer Unix system. No nVidia GPU ... (sad) ( it was supported in old MBP or old Mac Pro ) -- TreeVNC VNC stands for Virtual Network Computing It is actually a network protocol called RFB ( Remote Frame Buffer ) VNC is usually used in one to one connection, which is not suitable for educational purpose such as lecture or seminar. Project or Large LCD Display is too far to show the source code. Ex. Students wants to make a screen copy Switching presenter's display cable of his PC is annoying. --TreeVNC <center><img src="fig/MultiNetworkTree.svg"></center> TreeVNC connect VNC nodes as tree ( as overlay network in an LAN or WAN ), which makes multicast of VNC possible. It also supports VNC server changes. It has "Share my screen" button, so a presenter can pass the screen to the next presenter. It is a modification of TighVNC and written in Java. http://www.cr.ie.u-ryukyu.ac.jp/software/TreeVNC_en.html --That's all, Thank you <center><img src="fig/IMG_5814.jpg"></center>