0
|
1 -title: Informational infrastructure and management for education in faculty of engineering
|
|
2
|
|
3 -author: Shinji KONO, Associate Professor, University of the Ryukyus
|
|
4
|
3
|
5 --What I'm going to talk
|
|
6
|
|
7 About our Faculty (Information Engineering, University of the Ryukyus)
|
|
8
|
|
9 Part of my research
|
|
10
|
|
11 Computer system of our faculty
|
|
12
|
|
13 TreeVNC ( our lab's application ) for lecture/seminar
|
|
14
|
|
15
|
0
|
16 --University of the Ryukyus
|
|
17
|
|
18 local national university
|
|
19 8000 students
|
|
20 Various faculty including Medicine
|
|
21
|
|
22
|
|
23 --Faculty of Information Engineering
|
|
24
|
|
25 https://ie.u-ryukyu.ac.jp/external-information/
|
|
26
|
|
27 60 students per year
|
|
28 Graduate course
|
|
29
|
|
30 --Our research area
|
|
31
|
|
32 Artificial Intelligence
|
|
33 Robotics
|
|
34 Signal Processing
|
|
35 Network System
|
|
36 Parallel Programming
|
|
37 Distributed Programming
|
|
38 Circuit design
|
|
39 VLSI design
|
|
40 Voice recognition
|
|
41 Decision Theory
|
|
42
|
|
43 --My research area
|
|
44
|
|
45 Programming Languages
|
|
46
|
|
47 Parallel Processing
|
|
48
|
|
49 Distributed Computing
|
|
50
|
|
51 Verification of Program
|
|
52
|
|
53 Theory and Implementation of Meta Computation
|
|
54
|
|
55 http://www.ie.u-ryukyu.ac.jp/%7Ekono/papers.html
|
|
56
|
|
57
|
|
58 --My research area (Continuation based C)
|
|
59
|
|
60 <center><img src="fig/csds.svg"></center>
|
|
61
|
|
62 % brew tap ie-developers/ie
|
|
63 % brew install cbc
|
|
64
|
|
65 C with Code Segments, which is a slice of codes.
|
|
66
|
|
67 Code Segments are connected by parameterized goto.
|
|
68
|
|
69 __code code1(int i, int j, __code next(int i, int j)) {
|
|
70 i = i + j;
|
|
71 goto next(i,j);
|
|
72 }
|
|
73
|
|
74 A kind of low level language of C.
|
|
75
|
|
76 --Gears OS
|
|
77
|
|
78 <center><img src="fig/meta.svg"></center>
|
|
79
|
1
|
80 Normal level code is translated into meta level code in CbC.
|
0
|
81
|
|
82 __code code1(struct context *c, int i, int j, int *o_i, int *o_j, enum Code next) {
|
|
83 *o_i = i + j;
|
|
84 goto meta(c,next);
|
|
85 }
|
|
86
|
|
87 __code code1_stub(struct context *c) {
|
|
88 int i, j, int *o_i, *o_j; enum Code next;
|
|
89 ... get i, j etc from the data segment of code1
|
|
90 goto code1(c,i, j, o_i, o_j, next);
|
|
91 }
|
|
92
|
|
93 __code meta(struct context *c, enum Code next) {
|
|
94 goto (context->code[next])(context);
|
|
95 }
|
|
96
|
|
97 Quite low level, but various kind of customization can be put in the meta section such as __code meta or stub.
|
|
98
|
|
99 --GPGPU kernel is a Code Segment
|
|
100
|
|
101 Description of a kernel is very similar to a Code Segment, we can use it as a Code Segment.
|
|
102
|
|
103 In Meta Computation,
|
|
104
|
|
105 CUDA management (such as buffer)
|
|
106 Memory management
|
|
107 System call
|
|
108
|
|
109 --Computer System in Faculty of Engineering
|
|
110
|
1
|
111 <center><img src="fig/ie-sys.pdf"></center>
|
|
112
|
|
113 --Computer System in Faculty of Engineering
|
0
|
114 4 x 2U PC Server
|
|
115 KVM on GFS2 ( not VMware )
|
|
116 VM management system written in Rail called Akatsuki
|
|
117 Sakura Cloud
|
|
118 GMail (thanks to Google)
|
|
119
|
|
120 We don't have GPU Cluster, but we can access
|
|
121
|
|
122 OIST
|
|
123 Kyusyu University
|
|
124
|
1
|
125 Very few faculties use GPU Cluster, if we can use GPU VDM...
|
|
126
|
|
127
|
|
128 --Specification
|
|
129
|
|
130 Sever x 2
|
|
131 CPU Intel Xeon E5-2699 v3 (2.30GHz / 18 cores)
|
|
132 CPU 2
|
|
133 Memory 768GB (32GB x 24)
|
|
134 HDD 600GB
|
|
135
|
|
136 Maintenance Server
|
|
137 CPU Intel Core i7-6700 (3.40GHz / 4 cores)
|
|
138 Memory 32GB (8GB x 4)
|
|
139 SDD 240GB
|
|
140 HDD 4TB
|
|
141
|
|
142 SAN iSCSI
|
|
143 HDD SAS 1.2TB × 24 15000rpm RAID 6 19.7TB
|
|
144 NAS
|
|
145 HDD SAS 4.0TB × 24 7200rpm RAID 6 68.5TB x 2
|
|
146
|
0
|
147
|
|
148 --System usage
|
|
149
|
|
150 Web pages (WordPress)
|
|
151 Services ( DHCP, LDAP)
|
|
152 File Server
|
|
153 hg / git Server
|
|
154 brew cask server
|
|
155 Redmine ( for system management)
|
|
156 Jenkins ( for educational )
|
|
157 Akatsuki ( VM management written in Ruby on Rails)
|
|
158
|
|
159 --Management and maintenance of the system
|
|
160
|
|
161 These systems are managed by our faculties and students.
|
|
162
|
|
163 Design of the systems
|
|
164 Implementation of the systems
|
|
165 Backup
|
|
166 Incident response ( power failure or security flaw )
|
|
167
|
|
168 --Every student has a MacBookPro
|
|
169
|
3
|
170 From 2002, at that time students buy iBook Dual USB. OS X 10.0.
|
|
171
|
0
|
172 The only Company supported consumer Unix system.
|
|
173
|
|
174 No nVidia GPU ... (sad) ( it was supported in old MBP or old Mac Pro )
|
|
175
|
2
|
176 -- TreeVNC
|
0
|
177
|
2
|
178 VNC stands for Virtual Network Computing
|
0
|
179
|
1
|
180 It is actually a network protocol called RFB ( Remote Frame Buffer )
|
0
|
181
|
|
182 VNC is usually used in one to one connection, which is not suitable for educational purpose such as lecture or seminar.
|
|
183
|
1
|
184 Project or Large LCD Display is too far to show the source code. Ex. Students wants to make a screen copy
|
|
185
|
|
186 Switching presenter's display cable of his PC is annoying.
|
|
187
|
|
188 --TreeVNC
|
|
189
|
|
190 <center><img src="fig/MultiNetworkTree.svg"></center>
|
|
191
|
0
|
192 TreeVNC connect VNC nodes as tree ( as overlay network in an LAN or WAN ), which makes multicast of VNC possible.
|
|
193
|
|
194 It also supports VNC server changes. It has "Share my screen" button, so a presenter can pass the screen to the next presenter.
|
|
195
|
1
|
196 It is a modification of TighVNC and written in Java.
|
0
|
197
|
|
198 http://www.cr.ie.u-ryukyu.ac.jp/software/TreeVNC_en.html
|
3
|
199 --That's all, Thank you
|
0
|
200
|
3
|
201 <center><img src="fig/IMG_5814.jpg"></center>
|
0
|
202
|