Android 1 1 1 1 1 Dominic Hillenbrand 1 1 1 ODROID-X2 GPIO Android OSCAR WFI 500[us] GPIO GPIO API GPIO API GPIO MPEG2 Optical Flow MPEG2 1PE 0.97[W] 0.63[W] 2PE 1.88[w] 0.46[W] 3PE 2.79[W] 0.37[W] Optical Flow 1PE 0.95[W] 0.72[W] 2PE 1.50[w] 0.36[W] 3PE 2.23[W] 0.30[W] API Android GPIO WFI 1. [1], [2], [3] ARM [4] big.little[5] NVIDIA Tegra[6] Samsun Exynos 5 OCta[7] 1 Waseda University Linux OS OpenMP MPI OSCAR [8], [9] OSCAR DVFS c 2013 Information Processing Society of Japan 1
[10] OSCAR Android[11] ODROID-X2[12] WFI(Wait For Interrupt) 500[us] Android GPIO Android 2 3 4 5 6 2. Android Android Android Linux Linux Linux CPUFreq CPUIdle HotPlug[13] 2.1 CPU Freq cpufreq CPU Linux Android ondemand 2.2 CPUIdle Android CPU cpuidle CPU Linux CPU 2.3 HotPlug hotplug cpufreq cpuidle hotplug cpuidle hotplug 3. OSCAR OSCAR API 3.1 OSCAR OSCAR (Optimally SCheduled Adavanced multiprocessor) OSCAR C fortran (BB) (RB) (SB) OSCAR (MFG) MFG MT (MTG) MT OSCAR MT MT (PG) MTG c 2013 Information Processing Society of Japan 2
MTG [14] MTG DVFS MT [15] OSCAR DVFS MTG OSCAR MT DVFS MTG 3.2 OSCAR API OSCAR API (Application Programming Interface) [10] OSCAR OSCAR API OpenMP OSCAR API thread OSCAR OpenMP OpenMP API OSCAR API gcc OSCAR API fvcontrol get fv status fvcontrol get fv status -1 100-1 0 1 100 100 100 API fvcontrol get fv status oscar fvcontrol() oscar get fv status() 3.3 WFI OSCAR API OSCAR Android cpufreq OSCAR Android ARM WFI(Wait For Interrupt) [4] WFI WFI WFI WFI 500[us] linux 1 1-(a) 1-(b) 500[mA] 1-(b) 500[us] cpufreq [ms] Android c 2013 Information Processing Society of Japan 3
&"""#$!!%""#$!!"""#$! ''%""#$!!()*+! &()*+!,()*+! -()*+! (a) &"""#$!!%""#$!!"""#$! ''%""#$!!()*+! &()*+!,()*+! -()*+! (b) 1 3.4 GPIO ODROID-X2 GPIO(General Purpos Input Output)[16] GPIO LED,, GPIO GPIO 0v I/O GPIO GPIO API GPIO API GPIO 0 1 GPIO I/O 2 GPIO 2-(a) GPIO gpio value GPIO gpio GPIO GPIO 2-(b) 2-(a) GPIO GPIO 2-(a) (i) (ii) 2-(b) (A) (B) GPIO GPIO 4. 2 GPIO GPIO ''()*+,-./*0+1! 3 (4:*;)60<=>/! ;+AA3)*324! Exynos4412 Android ODROID-X2 ODROID-X2[11] Samsung Exynos4412[17] 3 ODROID-X2 Exynos4412 Samsung ARM 1.7GHz Cortex-A9 4 1MB L2 2GB LPDDR2 RAM c 2013 Information Processing Society of Japan 4
*"!!% #234563&!5789&%8:6;235<&'5<395=& #234&!5789&%8:6;235<&'5<395=& ("$#% '"()*+!,-"(&.#/! (",!% ("!!% &",!% &"!!%!",!%!"#$%!")*% &"''%!"+)%!"*$% 4 ODROID-X2!"!!% &% (% *% (*+0$%&"1&!$! 5 MPEG2 Decoder Android 4.2.0 ODROID-X2 CPU CPU PMIC(Power Management IC)[18] ODROID-X2 PMIC CPU PMIC 4 PMIC CPU 40[mΩ] 10 10 Android 4.1 4.1.1 MPEG2 Decoder MPEG2 MPEG2 Android 60[fps](1 16.6[ms]) 4.1.2 Optical Flow Optical Flow OpenCV[19] 16x16 OSCAR 30[fps](1 33.3[ms]) 5. Optical Flow OS- CAR OSCAR API 3.3 OSCAR Section 3.4 GPIO OSCAR FULL(1704[MHz]) MID(900[MHz]) LOW(400[MHz]) VLOW(200[MHz]) Android cpufreq OSCAR ondemand OSCAR userspace 5.1 MPEG2 MPEG2 5 MPEG2 1PE(Processor Element) 0.97[W] 0.63[W] 2PE 1.88[W] 0.46[W] 3PE 2.79[W] 0.37[W] 6 MPEG2 ODROID-X2 6-(a) OSCAR (1704[MHz]) ondemand (1704[MHz]) 6-(b) OSCAR OSCAR c 2013 Information Processing Society of Japan 5
!*+,#-)!*+,#-) #234563&!5789&%8:6;235<&'5<395=& #234&!5789&%8:6;235<&'5<395=& *"!!% ("$#% '() '().,01'236:24567-+48-9:;2'6<4=6<2+6>)./01'234567-+48-9:;2'6<4=6<2+6>) 6 1PE MPEG2 Decoder '"()*+!,-"(&.#/! (",!% ("!!% &",!% &"!!%!",!%!"!!% &"''%!"#$%!")*%!"+)%!"*$% &% (% *% (*+0$%&"1&!$!!>5=#4)!>5=#4) 8 Optical Flow ' ' '() *=,-'./28.012345064789.'2:0;2:.52<) '() *+,-'./012345064789.'2:0;2:.52<) 7 3PE MPEG2 Decoder.$01,236:245670&9:;2,6<4=6<2#6>'./01,2345670&9:;2,6<4=6<2#6>' (1704[MHz]) 0[W] 7 ODROID-X2 MPEG2 3PE 3PE 7-(a) OSCAR 7-(b) OSCAR 7 OSCAR 3 MPEG2 MID 6-(b) 0[W] 5.2 Optical Flow Optical Flow 8 Optical Flow 1PE 0.95[W] 0.72[W] 2PE 1.50[W] 0.36[W] 3PE 2.23[W] 0.30[W] 9 Optical Flow ODROID-X2 9-(a) OSCAR 9 1PE Optical Flow ' ' ' '.$01,236:245670&9:;2,6<4=6<2#6>'./01,2345670&9:;2,6<4=6<2#6>' 10 3PE Optical Flow (1704[MHz]) ondemand (1704[MHz]) 9-(b) OSCAR OSCAR (1704[MHz]) 0[W] 10 ODROID-X2 Optical Flow 3PE 3PE 10-(a) OSCAR 10-(b) OSCAR 10 OSCAR 3 Optical Flow LOW c 2013 Information Processing Society of Japan 6
9-(b) 0[W] 6. OSCAR Odroid-X2 Android WFI GPIO MPEG2 1pe 0.97[W] 0.63[W] 24.3% 2pe 1.88[W] 0.46[W] 75.5% 3pe 2.79[W] 0.37[W] 86.7% Optical Flow 1pe 0.95[W] 0.72[W] 24.2% 2pe 0.36[W] 1.50[W] 75.9% 3pe 0.30[W] 2.23[W] 13.5% Android OSCAR Android [1] Taylor, M., Kim, J., Miller, J. and Wentzlaff, D.: THE RAW MICROPROCESSOR: A COMPUTA- TIONAL FABRIC FOR SOFTWARE CIRCUITS AND GENERAL-PURPOSE PROGRAMS, Micro,..., pp. 25 35 (2002). [2] Hammond, L., Hubbert, B. and Siu, M.: THE STAN- FORD HYDRA CMP, Micro,..., pp. 71 84 (2000). [3] Friedrich, J. and McCredie, B.: Design of the Power6 microprocessor, pp. 96 97 (2007). [4] ARM Corporation: Cortex-A9 Technical Reference Manual. [5] Jeff, B.: Advances in big. LITTLE Technology for Power and Energy Savings, No. September, pp. 1 11 (2012). [6] NVIDIA Corporation: Whitepaper NVIDIA R Tegra TM Multi-processor Architecture, pp. 1 12. [7] Samsung Electronics Co., L.: White Paper of Exynos 5, Vol. 1, No. 1, pp. 1 8 (online), DOI: 10.5663/aps.v1i1.10138 (2011). [8] Kasahara, H., Obata, M. and Ishizaka, K.: Automatic coarse grain task parallel processing on smp using openmp, Workship on Lan- guages and Compilers for Parallel Computing, pp. 1 15 (2001). [9] Obata, M., Shirako, J., Kaminaga, H., Ishizaka, K. and Kasahara, H.: Hierarchical Parallelism Control for Multigrain Parallel Processing, Lecture Notes in Computer Science, Vol. 2481, pp. 31 44 (2005). [10] Kimura, K., Mase, M., Mikami, H., Miyamoto, T., Shirako, J. and Kasahara, H.: OSCAR API for Real-time Low-Power Multicores and Its Performance on Multicores and SMP Servers, Lecture Notes in Computer Science, pp. 188 202 (2010). [11] : ODROID-X2. [12] Google: Android Developers. [13] : CPU hotplug Support in Linux(tm) Kernel. [14] Obata, M., Shirako, J. and Kaminaga, H.: Hierarchical parallelism control for multigrain parallel processing, pp. 31 44 (online), available from http://link.springer.com/chapter/10.1007/11596110 3 (2005). [15] Shirako, J., Oshiyama, N., Wada, Y., Shikano, H., Kimura, K. and Kasahara, H.: Compiler Control Power Saving Scheme for Multi Core Processors, Lecture Notes in Computer Science, pp. 362 376 (2007). [16] : GPIO Interfaces. [17] SUMSUNG ELECTRONICS: Samsung Exynos 4 Quad (Exynos 4412) RISC Microprocessor User s Manual, No. October (2012). [18] : Samsung Semiconductors Global Site. [19] : Opencv. c 2013 Information Processing Society of Japan 7