WEKO3
-
RootNode
アイテム
部分的再ロードによるJavaプログラムの再起動の高速化
https://ipsj.ixsq.nii.ac.jp/records/74634
https://ipsj.ixsq.nii.ac.jp/records/74634d5979d2c-f0b9-43b0-85da-814f1d875e03
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
Copyright (c) 2011 by the Information Processing Society of Japan
|
|
オープンアクセス |
Item type | Trans(1) | |||||||
---|---|---|---|---|---|---|---|---|
公開日 | 2011-06-29 | |||||||
タイトル | ||||||||
タイトル | 部分的再ロードによるJavaプログラムの再起動の高速化 | |||||||
タイトル | ||||||||
言語 | en | |||||||
タイトル | A Technique for Quick Restarting of Java Applications by Partial Class Reloading | |||||||
言語 | ||||||||
言語 | jpn | |||||||
キーワード | ||||||||
主題Scheme | Other | |||||||
主題 | 通常論文 | |||||||
資源タイプ | ||||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||
資源タイプ | journal article | |||||||
著者所属 | ||||||||
東京工業大学大学院情報理工学研究科数理・計算科学専攻 | ||||||||
著者所属 | ||||||||
東京工業大学大学院情報理工学研究科数理・計算科学専攻 | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Department of Mathematical and Computing Sciences, Graduate School of Information Science and Engineering, Tokyo Institute of Technology | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Department of Mathematical and Computing Sciences, Graduate School of Information Science and Engineering, Tokyo Institute of Technology | ||||||||
著者名 |
別役, 浩平
千葉, 滋
× 別役, 浩平 千葉, 滋
|
|||||||
著者名(英) |
Kohei, Betchaku
Shigeru, Chiba
× Kohei, Betchaku Shigeru, Chiba
|
|||||||
論文抄録 | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | 一部のクラスの定義を変えてプログラムを再起動するには,新たに作成したクラスローダを用いてアプリケーションを再ロードする必要がある.この手法は,たとえば HOT デプロイで利用されている.しかし,アプリケーションの全クラスの再ロードによる時間的コストが大きく,サーバのパフォーマンスを低下させてしまう.そこで本稿では,アプリケーションを部分的に再ロードすることで再起動を高速化する手法を提案する.再起動時にどのクラスが変更されたかが分かれば,変更対象クラスとそれに依存しているクラスのみを子ローダで再ロードすることで,その他のクラスは親ローダでロード済みのものを再利用できる.また,アプリケーションの各クラスに複数の版があり,それらを組み合わせて何度も再起動をする状況下では,各クラスの各版ごとにクラスローダを作成し,それらがロード済みの版のクラスを再利用することで再ロードのコストを軽減できる.しかし,後者の手法では多くのクラスを変更する際,削減できる再ロードのコストに対してクラスローダインスタンスの作成によるコストが大きくなりすぎる場合がある.そこで上記の 2 つの手法を per-session AOP を用いたフレームワークに実装し,実験を行った.その結果から,どちらの手法を使うべきかの指針を示した. | |||||||
論文抄録(英) | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | To modify the definitions of some classes of an application and restart it, the application should be reloaded by a new class loader. This approach is, for example, used for HOT deployment. However, it degrades the performance of a server application if all the classes of an application are reloaded. This paper proposes a technique to speed up restarting an application by partial class reloading. When an application is restarted, since we know which classes are modified at this time, we can reuse classes that have been already loaded and are not changed at this restart. Furthermore, when each class of an application has some versions and the application is restarted repeatedly with combination of different versions of classes, we can reduce reloading costs by creating a class loader responsible for loading each version of a class. This allows us to reuse not only original classes but also various versions of each class. However, the latter approach may degrade the performance because a large number of class loader instances are created when we modify a number of classes. We applied above two approaches to our per-session AOP framework respectively and provided guidelines which approach you should use. | |||||||
書誌レコードID | ||||||||
収録物識別子タイプ | NCID | |||||||
収録物識別子 | AA11464814 | |||||||
書誌情報 |
情報処理学会論文誌プログラミング(PRO) 巻 4, 号 3, p. 16-25, 発行日 2011-06-29 |
|||||||
ISSN | ||||||||
収録物識別子タイプ | ISSN | |||||||
収録物識別子 | 1882-7802 | |||||||
出版者 | ||||||||
言語 | ja | |||||||
出版者 | 情報処理学会 |