Status of Embedded Linux (2013)

Total Page:16

File Type:pdf, Size:1020Kb

Status of Embedded Linux (2013) Status of Embedded Linux Status of Embedded Linux October 2013 Tim Bird Architecture Group Chair LF CE Workgroup 1 1 6/5/2013 PA1 Confidential Drinking from a firehose 2 6/5/2013 PA1 Confidential Outline Kernel Versions Technology Areas CE Workgroup Projects Other Stuff Best of … Resources 3 3 6/5/2013 PA1 Confidential Outline Kernel Versions Technology Areas CE Workgroup Projects Other Stuff Best of … Resources 4 4 6/5/2013 PA1 Confidential Kernel Versions • Pace of versions is consistent and good • Kernel processes are working well 5 6/5/2013 PA1 Confidential Kernel Versions • Linux v3.6 – 30 Sep 2012 – 71 days • Linux v3.7 – 10 Dec 2012 – 71 days • Linux v3.8 – 18 Feb 2013 – 70 days • Linux v3.9 – 28 Apr 2013 – 69 days • Linux v3.10 – 30 June 2013 – 63 days • I predicted July 7, 2013 – (7 days off) • Linux v3.11 – 2 Sep 2013 – 64 days • Linux v3.12-rc6 • I predict 3.12 on … 6 6 6/5/2013 PA1 Confidential Kernel Versions • Linux v3.6 – 30 Sep 2012 – 71 days • Linux v3.7 – 10 Dec 2012 – 71 days • Linux v3.8 – 18 Feb 2013 – 70 days • Linux v3.9 – 28 Apr 2013 – 69 days • Linux v3.10 – 30 June 2013 – 63 days • I predicted July 7, 2013 – (7 days off) • Linux v3.11 – 2 Sep 2013 – 64 days • Linux v3.12-rc6 • I predict 3.12 on … 8 Nov 2013 – 68 days 7 7 6/5/2013 PA1 Confidential Outline Kernel Versions Technology Areas CE Workgroup Projects Other Stuff Best of … Resources 8 8 6/5/2013 PA1 Confidential Bootup Time • Kernel can be quick (under 1 second) • But it takes a lot of work, per product • Lots of resources available for tuning • See http://elinux.org/Boot_Time • Good recent presentation: http://www.slideshare.net/righiandr/linux-bootime- 23817352 • More focus recently on user-space • Angstrom uses systemd (yuck) 9 6/5/2013 PA1 Confidential Bootup Time • Checkpoint/Restart for Android • Jim Huang, 0xlab • Android usually takes about 30 seconds • Jim achieved about 15 seconds • See http://www.slideshare.net/jserv/implement- checkpointing-for-android-elce2012 • Also http://www.slideshare.net/jserv/tweak-boot • Other commercial systems are available for snapshot booting 10 10 6/5/2013 PA1 Confidential Graphics • Movement to higher resolutions for some embedded (e.g. Android) • These cases demand good graphics performance • Movement away from frame buffer • Crazy rendering stuff from Google • LLVM renderscript • Buffer management a big issue • Need to eliminate data copies 11 6/5/2013 PA1 Confidential Graphics • Still hoping for open source drivers for embedded GPUs • Lots of SoC GPU OSS driver projects • Lima, Etnaviv, Grate, Freedreno • See http://lwn.net/Articles/567611 • Nvidia even helping with Nouveau • http://lwn.net/Articles/568038 12 6/5/2013 PA1 Confidential Graphics • Shakeup in GPU market • ARM Mali and Vivante gaining market share GPU 1H-2012 1H-2013 Imagination 52% 37.6% Qualcomm 29.3% 32.3% ARM Mali 13.5% 18.4% Nvidia 4.9% 1.4% Vivante 0.3% 9.8% 13 6/5/2013 PA1 Confidential File Systems • UBIFS is taking over as de-facto standard for raw flash • YAFFS2 doesn’t scale to large NAND • Rise of eMMC (block-based flash) • New techniques needed to address this type of hardware • Flash Filesystem Tuning guide • F2FS 14 14 6/5/2013 PA1 Confidential Flash Filesystem tuning • CE Workgroup project to analyze filesystem performance on eMMC • Tested different block-based filesystems on flash media (ext4, btrfs, f2fs) • Measured the effect of different kernel tuning options • IO scheduler, flash geometry vs. flash part attributes and workload characteristics • Result document is NOW available at: • http://elinux.org/File_Systems#Comparison_of_flash_filesy stems • Executive summary: Correct filesystem and tuning options results depend on workload (no single winner) 15 6/5/2013 PA1 Confidential F2FS • Flash-friendly filesystem by Samsung • Mainlined in Linux version 3.8 • Support for security attributes in 3.12 • Log-structured, with lots of tweaks • E.g. hot vs. cold data separation • I heard that Moto X uses it (successfully) • See https://lwn.net/Articles/518988/ • See ELCE/ELC talks about it 16 6/5/2013 PA1 Confidential The exFAT incident • Weird sequence of events • Background: exFAT filesystem is covered by Microsoft patents • Used for sd cards – almost a requirement to support it • exFAT code released by independent Russian developer • “Liberated” from Samsung • Not sure about license • But some code may have been derived from kernel • Samsung released code a few weeks later • I wouldn’t use this code 17 6/5/2013 PA1 Confidential Memory Management • ION memory allocator 18 6/5/2013 PA1 Confidential Ion memory allocator • Allows sharing of memory areas between kernel subsystems (and devices) • Which reduces copies • Different devices have different memory constraints (cached, contiguous, etc.) • ION can select memory areas matching the least-common-denominator of the constraints • ION can manage cache relationship to memory • But, it uses arm-specific page accessors, and allows hardware-specific optimizations • It will have difficulty getting mainlined 19 6/5/2013 PA1 Confidential Power Management • Evolution of power management in Linux • Suspend/resume, voltage and frequency scaling, longer sleep (tick reduction), runtime device power management, race-to-sleep (wakelocks/autosleep) • New stuff starting to get crazy 20 6/5/2013 PA1 Confidential Power Management • Autosleep • Power-aware scheduling • Big.LITTLE scheduling • Memory power management • Full tickless 21 21 6/5/2013 PA1 Confidential Autosleep • Default state of platform is sleeping, rather than awake • Wakelock-compatible solution by Rafael Wysocki • Rafael: “This series tests the theory that the easiest way to sell a once rejected feature is to advertise it under a different name” • http://lwn.net/Articles/479841/ • Mainlined in v3.5 22 6/5/2013 PA1 Confidential Power-aware scheduling: • Small-task packing • Try to migrate tasks to allow more CPUs to go idle • Task placement on mixed cpu_power systems • Move large tasks to faster CPUs • Resources: • http://lwn.net/Articles/546664 - overview • http://lwn.net/Articles/552885 - some resistance • Ingo Molnar wants to consolidate this power stuff in the scheduler – rather than spread out into power/cpufreq/cpuidle/scheduler systems 23 6/5/2013 PA1 Confidential big.LITTLE • Crazy system with small, slow, power- efficient processors, alongside big fast, power-hungry processors • Requires some tremendous feats of scheduling to save power • Power-aware scheduling on steroids 24 6/5/2013 PA1 Confidential Big.LITTLE 25 6/5/2013 PA1 Confidential big.LITTLE scheduling • Overview: https://lwn.net/Articles/501501 • Multi-cluster power scheduling • https://lwn.net/Articles/539082/ • In-kernel-switcher work • https://lwn.net/Articles/549473/ • See talk at LCJ by Nakagawa-san of Renesas • One User Space Approach to big.LITTLE MP System on Real Silicon • Still waiting for real-product results 26 6/5/2013 PA1 Confidential Memory Power Management • Is a form of device PM • With memory regions as the devices • Restrict or migrate allocated memory into regions so that some banks/chips can be powered off • Don’t have good measurements of power savings yet • See http://lwn.net/Articles/568891 27 6/5/2013 PA1 Confidential Full tickless • Also known as “full dynamic tick” • Under some circumstance, some processors may run with no periodic ticks at all • Some restrictions: • Boot CPU cannot be ‘full’ tickless • A CPU cannot be full tickless with more than one process • See https://lwn.net/Articles/549580/ 28 6/5/2013 PA1 Confidential System Size • Kernel size • Library size • Automated reduction research 29 29 6/5/2013 PA1 Confidential Kernel size • Cooperative memory relinquishment • Volatile Ranges • Lexmark work (membroker and ANR malloc) • See talk at ELC 2013 – "SystemWide Memory Management without Swap“ 30 6/5/2013 PA1 Confidential Library reduction • olibc – bionic libc • Has good features from Android, and is smaller and more configurable than glibc glibc 2.11 : /lib/libc.so → 1,208,224 bytes uClibc 0.9.30 : /lib/libuClibc.so → 424,235 bytes bionic 2.1 : /system/lib/libc.so → 243,948 bytes • See ELC 2013 talk by Jim Huang • Kconfig for eglibc • Ability to configure parts of libc to use libc-2.17.so reduced from 1200K -> 830K ld-2.17.so reduced from 128K -> 120K libm-2.17.so reduced from 610K -> 580K • See ELC 2013 talk by Khem Raj 31 31 6/5/2013 PA1 Confidential Advanced Size Optimization of the Linux Kernel • “Auto-reduce” project • Find automated ways to reduce the kernel • Link-time optimization – 380K “free” reduction from compiler flag • System call elimination • Kernel command-line argument elimination • Kernel constraint system • Additional research - 50% of kernel code is unexecuted • Link-time re-writing • Cold-code compression • See Tim Bird’s presentation on advanced size optimization of the kernel • Notes and slides available at: http://elinux.org/System_Size_Auto-Reduction 32 6/5/2013 PA1 Confidential Security • SMACK • SE-Linux • Embedded integrity 33 6/5/2013 PA1 Confidential SMACK • SMACK for Tizen • Simplified rule set (3 tiers, 40,000 rules) • See http://lwn.net/Articles/55278 34 6/5/2013 PA1 Confidential SE-Linux • SE-Android • Implementation of SE-Linux for Android systems • SE-Linux was previously too big for embedded • Early embedded SE-Linux required 2M • Desktop SE ruleset is 900,000 rules • However, SE-Android only has 1658 rules and 263 types (71K policy size) • http://selinuxproject.org/page/SEAndroid • Especially: http://www.internetsociety.org/sites/default/files/ Presentation02_4.pdf 35 6/5/2013 PA1 Confidential Embedded Integrity • David Safford’s talk at Linux Security Summit • Some nice simple things to do to lock down a device • Cheap or free mechanisms (without having to resort to TPM chip), to achieve: • Detect firmware modification • Prevent firmware modification (lock it) • Signed updates • Trusted boot • http://lwn.net/Articles/568943 36 6/5/2013 PA1 Confidential Tracing • Ktap • Dynamic tracing, without the overhead of compiling into a module • Adds an interpreter to the kernel • Single module, that leverages ftrace, kprobes, etc.
Recommended publications
  • FAN53525 3.0A, 2.4Mhz, Digitally Programmable Tinybuck® Regulator
    FAN53525 — 3.0 A, 2.4 MHz, June 2014 FAN53525 3.0A, 2.4MHz, Digitally Programmable TinyBuck® Regulator Digitally Programmable TinyBuck Digitally Features Description . Fixed-Frequency Operation: 2.4 MHz The FAN53525 is a step-down switching voltage regulator that delivers a digitally programmable output from an input . Best-in-Class Load Transient voltage supply of 2.5 V to 5.5 V. The output voltage is 2 . Continuous Output Current Capability: 3.0 A programmed through an I C interface capable of operating up to 3.4 MHz. 2.5 V to 5.5 V Input Voltage Range Using a proprietary architecture with synchronous . Digitally Programmable Output Voltage: rectification, the FAN53525 is capable of delivering 3.0 A - 0.600 V to 1.39375 V in 6.25 mV Steps continuous at over 80% efficiency, maintaining that efficiency at load currents as low as 10 mA. The regulator operates at Programmable Slew Rate for Voltage Transitions . a nominal fixed frequency of 2.4 MHz, which reduces the . I2C-Compatible Interface Up to 3.4 Mbps value of the external components to 330 nH for the output inductor and as low as 20 µF for the output capacitor. PFM Mode for High Efficiency in Light Load . Additional output capacitance can be added to improve . Quiescent Current in PFM Mode: 50 µA (Typical) regulation during load transients without affecting stability, allowing inductance up to 1.2 µH to be used. Input Under-Voltage Lockout (UVLO) ® At moderate and light loads, Pulse Frequency Modulation Regulator Thermal Shutdown and Overload Protection . (PFM) is used to operate in Power-Save Mode with a typical .
    [Show full text]
  • An Emerging Architecture in Smart Phones
    International Journal of Electronic Engineering and Computer Science Vol. 3, No. 2, 2018, pp. 29-38 http://www.aiscience.org/journal/ijeecs ARM Processor Architecture: An Emerging Architecture in Smart Phones Naseer Ahmad, Muhammad Waqas Boota * Department of Computer Science, Virtual University of Pakistan, Lahore, Pakistan Abstract ARM is a 32-bit RISC processor architecture. It is develop and licenses by British company ARM holdings. ARM holding does not manufacture and sell the CPU devices. ARM holding only licenses the processor architecture to interested parties. There are two main types of licences implementation licenses and architecture licenses. ARM processors have a unique combination of feature such as ARM core is very simple as compare to general purpose processors. ARM chip has several peripheral controller, a digital signal processor and ARM core. ARM processor consumes less power but provide the high performance. Now a day, ARM Cortex series is very popular in Smartphone devices. We will also see the important characteristics of cortex series. We discuss the ARM processor and system on a chip (SOC) which includes the Qualcomm, Snapdragon, nVidia Tegra, and Apple system on chips. In this paper, we discuss the features of ARM processor and Intel atom processor and see which processor is best. Finally, we will discuss the future of ARM processor in Smartphone devices. Keywords RISC, ISA, ARM Core, System on a Chip (SoC) Received: May 6, 2018 / Accepted: June 15, 2018 / Published online: July 26, 2018 @ 2018 The Authors. Published by American Institute of Science. This Open Access article is under the CC BY license.
    [Show full text]
  • Kernel Boot-Time Tracing
    Kernel Boot-time Tracing Linux Plumbers Conference 2019 - Tracing Track Masami Hiramatsu <[email protected]> Linaro, Ltd. Speaker Masami Hiramatsu - Working for Linaro and Linaro members - Tech Lead for a Landing team - Maintainer of Kprobes and related tracing features/tools Why Kernel Boot-time Tracing? Debug and analyze boot time errors and performance issues - Measure performance statistics of kernel boot - Analyze driver init failure - Debug boot up process - Continuously tracing from boot time etc. What We Have There are already many ftrace options on kernel command line ● Setup options (trace_options=) ● Output to printk (tp_printk) ● Enable events (trace_events=) ● Enable tracers (ftrace=) ● Filtering (ftrace_filter=,ftrace_notrace=,ftrace_graph_filter=,ftrace_graph_notrace=) ● Add kprobe events (kprobe_events=) ● And other options (alloc_snapshot, traceoff_on_warning, ...) See Documentation/admin-guide/kernel-parameters.txt Example of Kernel Cmdline Parameters In grub.conf linux /boot/vmlinuz-5.1 root=UUID=5a026bbb-6a58-4c23-9814-5b1c99b82338 ro quiet splash tp_printk trace_options=”sym-addr” trace_clock=global ftrace_dump_on_oops trace_buf_size=1M trace_event=”initcall:*,irq:*,exceptions:*” kprobe_event=”p:kprobes/myevent foofunction $arg1 $arg2;p:kprobes/myevent2 barfunction %ax” What Issues? Size limitation ● kernel cmdline size is small (< 256bytes) ● A half of the cmdline is used for normal boot Only partial features supported ● ftrace has too complex features for single command line ● per-event filters/actions, instances, histograms. Solutions? 1. Use initramfs - Too late for kernel boot time tracing 2. Expand kernel cmdline - It is not easy to write down complex tracing options on bootloader (Single line options is too simple) 3. Reuse structured boot time data (Devicetree) - Well documented, structured data -> V1 & V2 series based on this. Boot-time Trace: V1 and V2 series V1 and V2 series posted at June.
    [Show full text]
  • Sitara™ Am57x Processor with Dual ARM® Cortex®-A15 Cores
    Sitara™ AM57x processor with dual ARM® Cortex®-A15 cores In today’s industrial automation market, (PLCs) and industrial computers consumers are seeing an evolution to human machine interface (HMI), that requires new technology featuring industrial peripherals and factory amplified performance and capabilities. communication, automation systems The factory automation floor is rapidly require cutting­edge technologies to advancing to become more user meet stringent customer requirements friendly with the incorporation of ele­ for high reliability in mission­critical ments like user interfaces that are environments. increasingly similar to those we use in our everyday lives and video compe­ Texas Instruments Incorporated (TI) has tencies that grant the ability to view a strategic commitment to the factory machines running on the opposite side automation industry, ranging from an of factories. This shift necessitates extensive, reliable solution portfolio to solutions very complex, expensive new processors that afford industrial a long product life supply as well as a and resistant to evolution even though system developers the capacity to suc­ strong local­based support. Industrial industry standards are changing. cessfully address these ever­evolving automation applications have been challenges. With applications ranging implemented using a variety of external Meeting the need for high from programmable logic controllers components making yesterday’s performance AM57x block diagram In industrial HMI and PLC systems, there is an increasing trend towards achieving x86­level performance in fanless enclosures and smaller form factors. At the same time, communica­ tions requirements are ever increasing for these systems, as is the need for intuitive user interface and high­perfor­ mance graphics in HMI systems.
    [Show full text]
  • OMAP 3 Family of Multimedia Applications
    OMAP™ 3 family of multimedia applications processors Revolutionizing entertainment and productivity Key features in wireless handheld commumications • Combines mobile entertainment and high-performance productivity applications. Product Bulletin • Integrates the advanced Superscalar ARM Cortex-A8 RISC core, enabling up to The OMAP™ 3 family of multimedia applications processors from Texas Instruments (TI) 3x gain in performance versus ARM11. introduces a new level of performance that enables laptop-like productivity and advanced • Designed in 45-nm (OMAP36x platform) entertainment in multimedia-enabled handsets. OMAP 3 devices support all levels of and 65-nm (OMAP34x platform) CMOS handsets, from the entry-level multimedia-enabled handsets to high-end Mobile Internet process technologies for less power Devices (MIDs). consumption and increased device performance. Entry-level Mid-level High-end • Includes integrated IVA hardware multimedia-enabled multimedia-enabled multimedia-enabled accelerators to enable multi-standard encode handsets handsets handsets decode up to HD resolution. OMAP3410 OMAP3420 OMAP3430/3440 • Available integrated image signal OMAP3610 OMAP3620 OMAP3630/3640 processor (ISP) enables faster, higher quality image capture, lower system cost TI’s OMAP 3 family of applications processors These devices can operate at a higher and lower power consumption. • Provides seamless connectivity to hard integrate the ARM Cortex-A8 superscalar frequency than previous-generation OMAP diskdrive (HDD) devices for mass storage. microprocessor
    [Show full text]
  • Nomadik Application Processor Andrea Gallo Giancarlo Asnaghi ST Is #1 World-Wide Leader in Digital TV and Consumer Audio
    Nomadik Application Processor Andrea Gallo Giancarlo Asnaghi ST is #1 world-wide leader in Digital TV and Consumer Audio MP3 Portable Digital Satellite Radio Set Top Box Player Digital Car Radio DVD Player MMDSP+ inside more than 200 million produced chips January 14, 2009 ST leader in mobile phone chips January 14, 2009 Nomadik Nomadik is based on this heritage providing: – Unrivalled multimedia performances – Very low power consumption – Scalable performances January 14, 2009 BestBest ApplicationApplication ProcessorProcessor 20042004 9 Lowest power consumption 9 Scalable performance 9 Video/Audio quality 9 Cost-effective Nominees: Intel XScale PXA260, NeoMagic MiMagic 6, Nvidia MQ-9000, STMicroelectronics Nomadik STn8800, Texas Instruments OMAP 1611 January 14, 2009 Nomadik Nomadik is a family of Application Processors – Distributed processing architecture ARM9 + multiple Smart Accelerators – Support of a wide range of OS and applications – Seamless integration in the OS through standard API drivers and MM framework January 14, 2009 roadmap ... January 14, 2009 Some Nomadik products on the market... January 14, 2009 STn8815 block diagram January 14, 2009 Nomadik : a true real time multiprocessor platform ARM926 SDRAM SRAM General (L1 + L2) Purpose •Unlimited Space (Level 2 •Limited Bandwidth Cache System for Video) DMA Master OS Memory Controller Peripherals multi-layer AHB bus RTOS RTOS Multi-thread (Scheduler FSM) NAND Flash MMDSP+ Video •Unlimited Space MMDSP+ Audio 66 MHz, 16-bit •“No” Bandwidth 133 MHz, 24-bit •Mass storage
    [Show full text]
  • Linux Kernal II 9.1 Architecture
    Page 1 of 7 Linux Kernal II 9.1 Architecture: The Linux kernel is a Unix-like operating system kernel used by a variety of operating systems based on it, which are usually in the form of Linux distributions. The Linux kernel is a prominent example of free and open source software. Programming language The Linux kernel is written in the version of the C programming language supported by GCC (which has introduced a number of extensions and changes to standard C), together with a number of short sections of code written in the assembly language (in GCC's "AT&T-style" syntax) of the target architecture. Because of the extensions to C it supports, GCC was for a long time the only compiler capable of correctly building the Linux kernel. Compiler compatibility GCC is the default compiler for the Linux kernel source. In 2004, Intel claimed to have modified the kernel so that its C compiler also was capable of compiling it. There was another such reported success in 2009 with a modified 2.6.22 version of the kernel. Since 2010, effort has been underway to build the Linux kernel with Clang, an alternative compiler for the C language; as of 12 April 2014, the official kernel could almost be compiled by Clang. The project dedicated to this effort is named LLVMLinxu after the LLVM compiler infrastructure upon which Clang is built. LLVMLinux does not aim to fork either the Linux kernel or the LLVM, therefore it is a meta-project composed of patches that are eventually submitted to the upstream projects.
    [Show full text]
  • Hiding Process Memory Via Anti-Forensic Techniques
    DIGITAL FORENSIC RESEARCH CONFERENCE Hiding Process Memory via Anti-Forensic Techniques By: Frank Block (Friedrich-Alexander Universität Erlangen-Nürnberg (FAU) and ERNW Research GmbH) and Ralph Palutke (Friedrich-Alexander Universität Erlangen-Nürnberg) From the proceedings of The Digital Forensic Research Conference DFRWS USA 2020 July 20 - 24, 2020 DFRWS is dedicated to the sharing of knowledge and ideas about digital forensics research. Ever since it organized the first open workshop devoted to digital forensics in 2001, DFRWS continues to bring academics and practitioners together in an informal environment. As a non-profit, volunteer organization, DFRWS sponsors technical working groups, annual conferences and challenges to help drive the direction of research and development. https://dfrws.org Forensic Science International: Digital Investigation 33 (2020) 301012 Contents lists available at ScienceDirect Forensic Science International: Digital Investigation journal homepage: www.elsevier.com/locate/fsidi DFRWS 2020 USA d Proceedings of the Twentieth Annual DFRWS USA Hiding Process Memory Via Anti-Forensic Techniques Ralph Palutke a, **, 1, Frank Block a, b, *, 1, Patrick Reichenberger a, Dominik Stripeika a a Friedrich-Alexander Universitat€ Erlangen-Nürnberg (FAU), Germany b ERNW Research GmbH, Heidelberg, Germany article info abstract Article history: Nowadays, security practitioners typically use memory acquisition or live forensics to detect and analyze sophisticated malware samples. Subsequently, malware authors began to incorporate anti-forensic techniques that subvert the analysis process by hiding malicious memory areas. Those techniques Keywords: typically modify characteristics, such as access permissions, or place malicious data near legitimate one, Memory subversion in order to prevent the memory from being identified by analysis tools while still remaining accessible.
    [Show full text]
  • Mediatek Inc
    01 May 2015 Asia Pacific/Taiwan Equity Research Semiconductor Devices MediaTek Inc. (2454.TW / 2454 TT) Rating NEUTRAL* Price (30 Apr 15, NT$) 395.00 RESULTS Target price (NT$) 405.00¹ Upside/downside (%) 2.5 Mkt cap (NT$ mn) 708,117 (US$ 23,121) 2Q lacks growth, but a high bar is set for 2H Enterprise value (NT$ mn) 544,619 ■ 1Q15 results in line with CS, but below street. 1Q15 sales were already Number of shares (mn) 1,792.70 Free float (%) 89.1 reported at NT$47.5 bn, -14.3% QoQ. Smartphone shipments were 85 mn 52-week price range 535.0 - 390.0 (30mn LTE), down from 95-100mn in 4Q14 due to seasonality and emerging ADTO - 6M (US$ mn) 101.0 market weakness. GMs met our 47.3% vs 46-48% guidance and OpM was also *Stock ratings are relative to the coverage universe in each analyst's or each team's respective sector. in line at 16.1% on cost controls. Lower non-op income kept EPS only in line ¹Target price is for 12 months. with our NT$4.62 and below street's NT$4.97. Research Analysts ■ 2Q15 guidance below, inventory elevated. Sales were guided -5% to +3% Randy Abrams, CFA QoQ, below CS/street's +9%/+18% QoQ on 3G price pressure and 4G mix 886 2 2715 6366 [email protected] skewed to the entry level. Margins are in line, with GMs at 45.5-47.5% and Nickie Yue OpM at 12.5-16.5%. Inventory is elevated, at 102 days and guided to stay 886 2 2715 6364 98-110 days in 2Q15, requiring 2H15 acceleration.
    [Show full text]
  • Improving the Performance of Hybrid Main Memory Through System Aware Management of Heterogeneous Resources
    IMPROVING THE PERFORMANCE OF HYBRID MAIN MEMORY THROUGH SYSTEM AWARE MANAGEMENT OF HETEROGENEOUS RESOURCES by Juyoung Jung B.S. in Information Engineering, Korea University, 2000 Master in Computer Science, University of Pittsburgh, 2013 Submitted to the Graduate Faculty of the Kenneth P. Dietrich School of Arts and Sciences in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science University of Pittsburgh 2016 UNIVERSITY OF PITTSBURGH KENNETH P. DIETRICH SCHOOL OF ARTS AND SCIENCES This dissertation was presented by Juyoung Jung It was defended on December 7, 2016 and approved by Rami Melhem, Ph.D., Professor at Department of Computer Science Bruce Childers, Ph.D., Professor at Department of Computer Science Daniel Mosse, Ph.D., Professor at Department of Computer Science Jun Yang, Ph.D., Associate Professor at Electrical and Computer Engineering Dissertation Director: Rami Melhem, Ph.D., Professor at Department of Computer Science ii IMPROVING THE PERFORMANCE OF HYBRID MAIN MEMORY THROUGH SYSTEM AWARE MANAGEMENT OF HETEROGENEOUS RESOURCES Juyoung Jung, PhD University of Pittsburgh, 2016 Modern computer systems feature memory hierarchies which typically include DRAM as the main memory and HDD as the secondary storage. DRAM and HDD have been extensively used for the past several decades because of their high performance and low cost per bit at their level of hierarchy. Unfortunately, DRAM is facing serious scaling and power consumption problems, while HDD has suffered from stagnant performance improvement and poor energy efficiency. After all, computer system architects have an implicit consensus that there is no hope to improve future system’s performance and power consumption unless something fundamentally changes.
    [Show full text]
  • A Hybrid Swapping Scheme Based on Per-Process Reclaim for Performance Improvement of Android Smartphones (August 2018)
    Received August 19, 2018, accepted September 14, 2018, date of publication October 1, 2018, date of current version October 25, 2018. Digital Object Identifier 10.1109/ACCESS.2018.2872794 A Hybrid Swapping Scheme Based On Per-Process Reclaim for Performance Improvement of Android Smartphones (August 2018) JUNYEONG HAN 1, SUNGEUN KIM1, SUNGYOUNG LEE1, JAEHWAN LEE2, AND SUNG JO KIM2 1LG Electronics, Seoul 07336, South Korea 2School of Software, Chung-Ang University, Seoul 06974, South Korea Corresponding author: Sung Jo Kim ([email protected]) This work was supported in part by the Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education under Grant 2016R1D1A1B03931004 and in part by the Chung-Ang University Research Scholarship Grants in 2015. ABSTRACT As a way to increase the actual main memory capacity of Android smartphones, most of them make use of zRAM swapping, but it has limitation in increasing its capacity since it utilizes main memory. Unfortunately, they cannot use secondary storage as a swap space due to the long response time and wear-out problem. In this paper, we propose a hybrid swapping scheme based on per-process reclaim that supports both secondary-storage swapping and zRAM swapping. It attempts to swap out all the pages in the working set of a process to a zRAM swap space rather than killing the process selected by a low-memory killer, and to swap out the least recently used pages into a secondary storage swap space. The main reason being is that frequently swap- in/out pages use the zRAM swap space while less frequently swap-in/out pages use the secondary storage swap space, in order to reduce the page operation cost.
    [Show full text]
  • An Evolutionary Study of Linux Memory Management for Fun and Profit Jian Huang, Moinuddin K
    An Evolutionary Study of Linux Memory Management for Fun and Profit Jian Huang, Moinuddin K. Qureshi, and Karsten Schwan, Georgia Institute of Technology https://www.usenix.org/conference/atc16/technical-sessions/presentation/huang This paper is included in the Proceedings of the 2016 USENIX Annual Technical Conference (USENIX ATC ’16). June 22–24, 2016 • Denver, CO, USA 978-1-931971-30-0 Open access to the Proceedings of the 2016 USENIX Annual Technical Conference (USENIX ATC ’16) is sponsored by USENIX. An Evolutionary Study of inu emory anagement for Fun and rofit Jian Huang, Moinuddin K. ureshi, Karsten Schwan Georgia Institute of Technology Astract the patches committed over the last five years from 2009 to 2015. The study covers 4587 patches across Linux We present a comprehensive and uantitative study on versions from 2.6.32.1 to 4.0-rc4. We manually label the development of the Linux memory manager. The each patch after carefully checking the patch, its descrip- study examines 4587 committed patches over the last tions, and follow-up discussions posted by developers. five years (2009-2015) since Linux version 2.6.32. In- To further understand patch distribution over memory se- sights derived from this study concern the development mantics, we build a tool called MChecker to identify the process of the virtual memory system, including its patch changes to the key functions in mm. MChecker matches distribution and patterns, and techniues for memory op- the patches with the source code to track the hot func- timizations and semantics. Specifically, we find that tions that have been updated intensively.
    [Show full text]