Research

On-Device Machine Learning

기존에는 연산량이 많은 machine learning 응용을 고성능 server의 high-end GPU를 이용하여 실행하고 있으나, 최근 다양한 IoT/Mobile 장치가 확산되면서 on-device machine learning의 필요성이 대두되고 있다. 본 연구에서는 CPU/memory/power 등의 자원 제약을 가진 IoT/Mobile 장치에서 machine learning 응용을 실행하기 위해 Accuracy의 큰 저하없이 DNN의 연산량을 줄이는 가속 기법을 연구한다.

  • DNN (Deep Neural Network) 가속 기법
    • Channel/Block Pruning
    • ARM 기반 embedded 장치를 위한 Sparse CNN용 Compiler
    • Low-Precision (8/4/2/1 bits) Quantization
    • 단일 training으로 다양한 장치에서 사용 가능한 Scalable Neural Network
    • Resource-constrained device를 위한 NAS( Neural Architecture Search)
    • IoT 장치를 위한 Tiny Machine Learning Framework (TinyML)
    • DNN Hardware Accelerator
    • Memristor 기반 Neural Network Accelerator
    • Gateway-offloading을 위한 DNN 분할 기법
  • IoT/Mobile Platform
    • ANT (AI-based Networked Things) Framework
    • Android

 
  • 관련 프로젝트
    • “지능형 IoT 장치용 소프트웨어 프레임워크” (IITP, SW스타랩, 2017.4.~2024.12) – 관련 영상 1, 관련영상 2
    • “OPEL(Open Platform Event Logger) 소프트웨어 플랫폼 개발” (연구재단, 글로벌프론티어사업, 2015. 9. 1 – 2018. 2. 28) – 관련 영상
    • “라이프 컴패니온쉽 경험을 위한 지능형 ICT융합 연구” (Grand ICT연구센터, 2015. 9 ~ 2018. 12)
    • “스마트 TV 2.0 소프트웨어 플랫폼” (지식경제부, 산업융합원천기술개발사업, 2011. 12. 1 – 2016. 8. 31)
    • “Web 성능 가속을 위한 차세대 AP 구조 개발” (삼성전자 DMC연구소, 2015. 6.10~2016. 6.9)
    • “모바일 운영체제 및 플랫폼 기술” (연구재단, SW기초원천기술개발사업, 2010. 7. 1 – 2015. 6. 30)
    • “클라우드 플랫폼 핵심 SW 기술 연구” (삼성전자 소프트웨어 센터, 2012. 1. 1 – 2015. 7. 14)
    • “Tizen Porting on Odroid-U3” (삼성전자 SWC, 2014.07.24~2014.12.23, 2015.03.02~2015.07.31)

지능형 Storage Architecture

기존의 SSD (solid-state drive)는 단순한 저장장치로만 활용되었으나 최근 Host와 Storage간 data transfer 비용이 증가함에 따라 “Moving Computation is Cheaper than Moving Data”라는 아이디어에 기반한 In-Storage Processing(ISP)이 등장하였다. SSD 내부의 computing 자원을 활용하여 연산을 가속하고 Host와의 데이터 전송량을 크게 줄인다. 본 연구에서는 ISP를 위한 SSD architecture를 개발하고, 이에 기반하여 DB나 Machine Learning 응용 실행이 가능한 DB-SSD, TensorSSD를 개발하고 있다.

  • In-Storage Processing을 위한 SSD architecture (Intelligent SSD, Smart SSD)
  • FPGA SSD를 이용한 BigData, Machine Learning 가속
    • DB-SSD, TensorSSD
  • Machine Learning 기반 Operating System/File System 최적화
  • Machine Learning 기반 Storage 최적화
    • Reinforcement-Learning (RL)을 이용한 SSD 동작 제어
  • New SSD Architectures
    • Linux SSD, Networked SSD
    • Multi-Stream SSD, Zoned Namespace (ZNS)
    • Hybrid Storage Architecture: DRAM+NVRAM+SSD, 2B-SSD
  • 관련 프로젝트
    • “대용량 클라우드 서버를 위한 SSD 기반 스토리지 시스템” (연구재단, 중견연구, 2016. 6 ~ 2019. 5)
    • “차세대 SDDC를 위한 초고속 SSD 저장시스템 구조 연구” (삼성전자반도체 클러스터과제 2016. 2 ~ 2019. 1)
    • “고성능/고신뢰/저비용 클라우드 스토리지를 위한 NVRAM 활용기술연구” (ETRI, 엑사스케일 클라우드 스토리지 개발 사업 위탁과제, 2015. 7. 1 – 2017. 11. 30)
    • “플래시 메모리 저장장치를 위한 모바일 플랫폼 소프트웨어 기법 개발”
      (연구재단,일반연구, 2013.6.1 ~ 2016.5.31)
    • “이기종 메모리 계층구조 관리 펌웨어 개발” (삼성전자 메모리사, 2012.7.1 ~ 2015.10.14)
    • “영상센서데이터 저장용 낸드플래시 파일시스템 및 IO 스택 개발”
      (연구재단, 글로벌프론티어사업, 2013. 9. 1 – 2015. 8. 31)

Operating Systems (Linux, RTOS)

  • Embedded Linux
    • Memory Profiling & Optimization (LMK, Swap, Compression, Deduplication, Page Reclamation, Device Reserved Memory, ION)
    • Power Profiling & Optimization (Heterogeneous Multi-Processing Scheduler)
    • Fast Booting, Interrupt Optimization
  • Real-Time Systems & RTOS
  • 관련 프로젝트
    • “Linux OS 기반 DRAM 검증 및 분석 방법 연구” (삼성전자 무선사, 2013.7.1 ~ 2013.12.31)

Multicore & GPU

  • OS supports for Multicore & GPU
  • Task Partitioning/Scheduling, Load Balancing
  • Task Parallelization (OpenMP)
  • GPU Device Driver: Spatial Multi-Tasking
  • GPU Shader Compiler
  • Low-Power Networks-on-Chip
  • Cache Coherency on Multicore
  • Power Optimization for Multicore
  • Dynamic Voltage/Clock Scaling
  • Power Management for DRAM