Presentation is loading. Please wait.

Presentation is loading. Please wait.

Embedded Software SKKU 15 1 김혁중, 한규화, 황연성 Tizen System Analysis.

Similar presentations


Presentation on theme: "Embedded Software SKKU 15 1 김혁중, 한규화, 황연성 Tizen System Analysis."— Presentation transcript:

1 Embedded Software Lab. @ SKKU 15 1 김혁중, 한규화, 황연성 Tizen System Analysis

2 Embedded Software Lab. @ SKKU 15 2 To evaluate the hardware behavior Tizen on QEMU + GEM5 – Idea from Gemdroid – Expected to simulator Tizen behavior using GEM5 with the trace extracted from Tizen emulator (QEMU) Primary Goal: Gem+Tizen

3 Embedded Software Lab. @ SKKU 15 3 "GemDroid: A Framework to Evaluate Mobile Platforms“ The 2014 ACM International Conference on Measurement and Modeling of Computer Systems. ACM(SIGMETRICS), 2014. The Pennsylvania State University – Chidambaram Nachiappan Nachiappan, Praveen Yedlapalli, Mahmut T. Kandemir, Anand Sivasubramaniam, Chita R. Das Intel Corp. – Niranjan Soundararajan GemDroid

4 Embedded Software Lab. @ SKKU 15 4 Holistic evaluation tools for mobile system covering cores, IPs, memory, and system SW. GemDroid (cont) – provides cycle-accurate simulation models (800x slowdown) – captures and replays instruction- level trace (ARM instructions + IP calls)

5 Embedded Software Lab. @ SKKU 15 5 QEMU(Quick EMUlator) – Open source – Hypervisor (Virtual machine monitor) – Hardware virtualization – GNU GPL version2 license – Supports IA_32, X86-64… QEMU

6 Embedded Software Lab. @ SKKU 15 6 Modular discrete event driven computer system simulator platform Merger of the best aspects of the M5 and GEMS – M5 provide a highly configurable simulation framework, multiple ISAs, and diverse CPU models – GEMS complement M5’s features with a detailed and flexible memory system – multiple cache coherence protocols and interconnect models Provide a wide variety of capabilities and components – CPU model – System mode – Memory system GEM5

7 Embedded Software Lab. @ SKKU 15 7 GEM5 is ‘architecture simulator’ – Impossible to simulate using instruction trace from QEMU (runtime simulation is needed) – In case of the paper (GemDroid), it may only simulate memory event using memory event trace and GEM5. Tizen should be run on GEM5 for using GEM5 (rather than trace) – Trace-driven simulation is not available – GEM5 uses pre-built OS image for full-system simulation Android image and ubuntu image are provided by the GEM5 community, but Tizen has no specific image. Problem of using GEM5

8 Embedded Software Lab. @ SKKU 15 8 Architecture Simulator (like GEM5) – Run simulation based on QEMU with PTLsim and DRAMsim. – Because Tizen (3.0) can run on generic QEMU, ‘expected’ to simulate Tizen behavior using MARSS. Plan B: MARSSx86 simulator

9 Embedded Software Lab. @ SKKU 15 9 Need to use Generic QEMU (because MARSS modified QEMU source code) To run Tizen on Generic QEMU, we need to choose Tizen 3.0 common x11 image – Port Tizen 3.0 common image into QEMU (in MARSS) MARSSx86 uses old version of QEMU – QEMU version on MARSSx86 is 0.2.0 (currently QEMU is 2.2.0) On generic QEMU, display don’t show up with Tizen image. – Modify the display option into fbdev (Framebuffer) rather than DRM – In systemd, set fbdev (dev/fb0) as default mount. – Success to boot up Tizen 3.0 image on QEMU. – Success to run Crosswalk on Tizen 3.0 image. Tizen porting on MARSSx86Sim Ref: https://www.mail-archive.com/dev@lists.tizen.org/msg04905.htmlhttps://www.mail-archive.com/dev@lists.tizen.org/msg04905.html

10 Embedded Software Lab. @ SKKU 15 10 Emulation was available, but, simulation was not available – When start simulation, the system gets crash. Reason: PTLsim (Core simulator) can’t translate corresponding instruction. – Solution Linux kernel downgrade – Current linux kernel version on Tizen is 3.14 – Success to port Tizen on linux vanilla kernel 3.10 (with some boot up fail like SMACK) – Still get translation error Fix instruction translation problem – After fixing: other Instruction also has same translation error. – It is impossible to translate all x86 instruction into up-to-date Problem on running MARSSx86 simulation

11 Embedded Software Lab. @ SKKU 15 11 MARSSx86 simulation Failed

12 Embedded Software Lab. @ SKKU 15 12 Overview – Qemu memory trace Fix Tizen QEMU (Tizen_2.2) to get memory trace profile Simulate memory behavior using Trafficgen in GEM5 load/store, memory address, tick information – Qemu device behavior trace Tizen emulator uses virtio device to improve the performance It may available to get event trace on QEMU virtio source Insert event trace code on GPU, codec, touch screen virtio driver Plan C: QEMU Tracing on Tizen

13 Embedded Software Lab. @ SKKU 15 13 Clone Tizen emulator on emulator repository – git clone ssh://review.tizen.org:gerrit/sdk/emulator/qemu.git Install pre-requisite tools for configure – run./emulator_configure.sh on [QEMU]/tizen – if get some error about dependency, install required tool for corresponding error Build 진행 – run./build.sh – built emulator-x86 image is in [QEMU]/tizen/emulator/bin Run emulator using built image – copy emulator-x86 into [Tizen-sdk]/tools/emulator/bin – Run emulator (IDE or emulator manager) Tizen_2.2 emulator build & Execution https://www.mail-archive.com/dev@lists.tizen.org/msg04704.htmlhttps://www.mail-archive.com/dev@lists.tizen.org/msg04704.html 참고

14 Embedded Software Lab. @ SKKU 15 14 Memory tracing – tlb_fill ([QEMU]/target-i386/mem_helper.c) Check whether accessed address is in TLB Memory address, read/write, time(tick) = total 13 byte Memory trace parsing – Make memory trace as binary data (because of huge size) – 21-byte entry: operation, address, size, tick – Convert binary trace into readable trace using parser Implementation

15 Embedded Software Lab. @ SKKU 15 Implementation (cont) Device tracing – [QEMU]/tizen/src/hw/ – maru_brill_codec.c – maru_virtio_hwkey.c – maru_virtio_touchscree.c – virtio-gl.c

16 Embedded Software Lab. @ SKKU 15 16 Qemu tracing and parsing – http://www.youtube.com/watch?v=Y_O_l_foawg&list=UUGxmu QQIBhjOTEENNOiGwAg&index=2 http://www.youtube.com/watch?v=Y_O_l_foawg&list=UUGxmu QQIBhjOTEENNOiGwAg&index=2 Demo

17 Embedded Software Lab. @ SKKU 15 17 Memory Trace – Extract memory trace on Tizen emulator – Native application (5min) watch cube drawing board scheduler – Web application (5min) analog watch image rotation paint app event manager Experiment

18 Embedded Software Lab. @ SKKU 15 18 NativeWeb # of Instruction (million)74.34111100.0356 Total cycle (billion)1775.751790.99 Mem write (GB)5.654.43 Mem read (GB)10.108.89 Brill_codec15742 touchscreen169916864 hwkey7242 virtio-gl29327121350 Results Each Native app & Web app workload – Extract memory event, instruction count, memory RW request, device event brill_codec is codec device, touchscreen is touch event, hwkey is hardware key event, virtio-gl is OpenGL event

19 Embedded Software Lab. @ SKKU 15 19 Not a same workload between Native and Web App – Try to make similar workload with similar application  but it is not same – Need to analyze micro component like view, interaction Tracing – Need to analyze core, instruction pipe-line or cache behavior Device tracing – Only trace event call count – Need to break down into detail behavior like memory allocation, task scheduling, etc. Limitation


Download ppt "Embedded Software SKKU 15 1 김혁중, 한규화, 황연성 Tizen System Analysis."

Similar presentations


Ads by Google