Node.jsにおけるCPU-boundタスク時のレスポンス性能低下に対する自動スケジューリング手法 (コンピュータシステム)  [in Japanese] Auto-scaling for low responsiveness of Node.js when handling CPU-bound tasks  [in Japanese]

Search this Article

Author(s)

Abstract

近年Node.jsの特長を生かされ,ウェブアプリケーションを開発するときにNode.jsがよく使用されている.しかし,Node.jsはシングルスレッドの実装であるため,同時に複数のタスクのCPU処理を同時に行うことができない.特にCPU-boundタスクを処理する際バまかのタスクがブロックされて,応答性が劣っている.このような問題を解消するために,子プロセスのプール生成かマルチスレッド化による静的にスケールアウトして並列処理方法通常に採用されている.しかし,既存のツールを利用してマルチスレッド化をする際に安定性と機能性が失うことがあり,子プロセスを生成する手法では,子プロセスの数は実行時に変更できないため,タスクの数が増加するにつれ,並行処理し切れないケースも存在する.これを改善するために,本稿では自動スケーリングによる並行処理の手法を提案する.また比較実験を行い,改善の効果を示した.

Node.js is widely used in developing web applications because of its good features. However, Node.js is implemented with event-loop architecture with single thread for CPU processing, thus it is not possible to perform CPU processing of more than one task at a time. Especially when Node.js is handling a CPU-bound task, others will be blocked, thus the responsiveness deteriorates. To solve this problem, generating a child process pool to scale out statically or reimplementing the Node.js with multi-thread architecture are general solutions. However, nowadays tools which are used to implement the Node.js with multi-thread architecture are still unstable or with limited functions. To generate a child process pool in fixed size still does not solve the problem when the number of tasks increases. This paper suggests a new solution with auto scaling-out mechanism. And we have 3 evaluating tests that show our solution has a better performance.

Journal

  • IEICE technical report. Computer systems

    IEICE technical report. Computer systems 114(155), 209-213, 2014-07-28

    The Institute of Electronics, Information and Communication Engineers

Codes

  • NII Article ID (NAID)
    110009947114
  • NII NACSIS-CAT ID (NCID)
    AN10013141
  • Text Lang
    JPN
  • ISSN
    0913-5685
  • NDL Article ID
    025636413
  • NDL Call No.
    Z16-940
  • Data Source
    NDL  NII-ELS 
Page Top