view Paper/chapter1.tex @ 11:c3768c16a27a

update paper
author e165727 <e165727@ie.u-ryukyu.ac.jp>
date Sat, 15 Feb 2020 06:36:16 +0900
parents 242bf93dbbb5
children 0320a82ac2e2
line wrap: on
line source

\chapter{序論}
\pagenumbering{arabic}

%序論の目安としては1枚半ぐらい.
%英語発表者は,最終予稿の「はじめに」の英訳などを載せてもいいかも.

\section{背景と目的}
%\section{ Perl6 の起動時間の改善}

現在開発の進んでいる言語に Perl6 がある.
スクリプト言語 Perl6 は任意の VM が選択できるようになっており, 主に利用されている VM に C で書かれた MoarVM が存在する.
MoarVM は JIT コンパイルなどをサポートしているが, 全体的な起動時間及び処理速度が Perl5 や Python , Ruby などの他のスクリプト言語と比較し非常に低速である.
その為, 現在日本国内では Perl6 は実務としてあまり使われていない.

Perl6 の持つ言語機能や型システムは非常に柔軟かつ強力であるため, 実用的な処理速度に達すれば, 言語の利用件数が向上することが期待される.
Perl6 は MoarVM に基づくJIT コンパイラを持っており,コンパイルされた結果はプロセッサが実行可能な機械語に相当する.

しかし現状の Perl6 は起動時間が非常に遅いことが問題である.

この問題を解決するために, 同一ホスト内で終了せずに実行を続けるサーバープロセスを立ち上げ, このサーバープロセス上で立ち上げておいたコンパイラに実行するファイル名をサーバーに転送し,サーバー上でコンパイルを行う手法を提案する.
著者らは, この提案手法に沿って『Abyss サーバー』を実装している.

またサーバーでは, サーバーに投げられた Perl6 をコンパイラで実行する際に, そのスクリプトが次に実行するスクリプトに影響を与えないことを保証する必要がある.
この問題を解決するために,本研究ではサーバーのコンテナ化を行う.

研究をするにあたり得られた, サーバー上でscript言語を実行する場合の利点と欠点について述べ, 今後の展望について記載する.

\section{論文の構成}
本論文は全 5 章で構成される。2 章では Raku の概要について紹介する。 3 章では 提案手法で述べた「Abyss Server」の具体的な実装について解説する。4 章では Abyss Server の性能評価について解説する。5 章はまとめとなっている。
%また、本論文末尾には付録として BluePrints の簡易的な解説を掲載した。4 章に入る前 に読んでおくと実装の理解がしやすいだろう。