著者
三橋 明城男 吉川 隆英
出版者
一般社団法人 電子情報通信学会
雑誌
電子情報通信学会 基礎・境界ソサイエティ Fundamentals Review (ISSN:18820875)
巻号頁・発行日
vol.16, no.4, pp.272-288, 2023-04-01 (Released:2023-04-01)
参考文献数
51

半導体のチップあたりのトランジスタ数は過去50年間,一貫して指数関数的に増加しており,搭載可能な論理的な機能の大規模化,複雑化をもたらしている.この動きに対応するため,論理設計手法も回路図ベースから言語ベースへと進化し,更に設計資産の再利用や標準バスインタフェースの採用などにより設計生産性を上げてきた.同様に,論理機能検証においても主に多様化する機能の検証網羅性と検証作業の生産性の課題が顕在化し,従来の手法では立ち行かなくなってきている.そこで,本稿ではこのような検証の課題を解決するための検証技術や検証メソドロジ(検証の方法論,手順,やり方),標準化の歴史などについて解説する.更に機能やその組み合わせの検証の範囲を越えて,近年重要性が増している非同期回路設計や低消費電力回路設計に伴って発生する新たな論理・回路検証項目や,セキュリティ対応や機能安全標準への準拠など,検証を更に複雑化する検証対象と,その対策についても解説する.また,これまでハードウェアの開発技術がソフトウェア開発技術の進化に追従する形で発展してきた歴史を振り返り,今後の検証技術の発展可能性についても展望する.
著者
吉川 隆英 近山 隆
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.41, no.9, pp.78-86, 2000-11-15
被引用文献数
2

世代GC方式は,データ割付領域を生成後間もないデータを配置する新世代領域と長寿命データを配置する旧世代領域とに分割することにより,長寿命データが何度もGCを経験するのを防ぐとともに,データ局所性の向上を図るメモリ管理方式である.世代GC方式においては,新世代領域から旧世代領域への移動(殿堂入り)時期の適切な選択が性能を大きく左右する.通常,殿堂入り時期はデータのGC経験回数によって決定される.そして,GCは新世代領域を使いきった時点で発生する.したがって,新世代領域サイズを動的に変更すれば,殿堂入り時期は動的に変更できる.本稿では,GC時に回収されるゴミの比率のモデルに基づきデータの平均余命を推定,その結果に沿って新世代領域サイズを動的に変更することによって,殿堂入り時期を適切に調節する世代GC方式を提案する.また,この方式を並行並列論理型言語処理系KLICに実装し評価を行った結果も述べる.A generational garbage collection segregates heap objects into multiple areas by their age, and garbage-collects areas containing older objects less often than those of younger ones. In a version of this scheme using two areas, new heap objects are allocated to the younger generation area, and advanced to the older generation area after a while. With an appropriate advancement policy, it can avoid repeated inspections of long-lived objects and improve reference locality. When to advance objects to the older generation is usually decided by the number of GCs that the object experienced. A GC occurs when the younger generation area is filled up. So the advancement policy can be dynamically modified by adjusting the new generation area size. In this paper, we propose an adjustment scheme based on {エit garbage ratios}, by which one can estimate life expectancy of short-lived objects. And we also report the evaluation results of this sheme when applied to an implementation of a concurrent and parallel logic programming language, KLIC.
著者
吉川 隆英 近山 隆
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.41, no.SIG09(PRO8), pp.78-86, 2000-11-15

世代GC方式は,データ割付領域を生成後間もないデータを配置する新世代領域と長寿命データを配置する旧世代領域とに分割することにより,長寿命データが何度もGCを経験するのを防ぐとともに,データ局所性の向上を図るメモリ管理方式である.世代GC方式においては,新世代領域から旧世代領域への移動(殿堂入り)時期の適切な選択が性能を大きく左右する.通常,殿堂入り時期はデータのGC経験回数によって決定される.そして,GCは新世代領域を使いきった時点で発生する.したがって,新世代領域サイズを動的に変更すれば,殿堂入り時期は動的に変更できる.本稿では,GC時に回収されるゴミの比率のモデルに基づきデータの平均余命を推定,その結果に沿って新世代領域サイズを動的に変更することによって,殿堂入り時期を適切に調節する世代GC方式を提案する.また,この方式を並行並列論理型言語処理系KLICに実装し評価を行った結果も述べる.
著者
吉川 隆英 田浦 健次朗 近山 隆
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.43, no.8, pp.111-111, 2002-09-15

世代GC 方式において,新たに生成されたデータは,何回かのGC を経た後,旧世代領域に移される.これを「殿堂入り」という.殿堂入り時期が遅すぎると,長寿命データと新世代ゴミが長期間新世代メモリ領域に混在するため,ユーザプログラム中や新世代GC 中でのキャッシュヒット率が低下する.逆に,殿堂入り時期が早すぎると,短寿命データが新世代領域で回収できず,新世代GC の回収効率が悪化し,旧世代GC が発生しやすくなる.殿堂入りの適切な時期は,プログラムによって,また1 つのプログラムの中でもその実行フェーズによって異なる.これまで,プログラム実行時に動的に殿堂入り時期を調節する手法はいろいろ提案されてきたが,主に新世代GC の回収効率を改善することに主眼がおかれており,キャッシュの効果が,動的な殿堂入り時期調節の基準に,実験データに裏打ちされる形で明快に反映されていなかった.そこで本研究では,まず,様々なプログラムにおいて,実際のデータ寿命分布,殿堂入り時期の違いによるキャッシュミス数と実行時間の測定を行い,メモリ領域中のデータの振舞いに対するモデルを作成した.そして,このモデルに基づく殿堂入り時期調節手法の提案を行った.また,この殿堂入り時期調節手法を,ヒープサイズを自動調節する世代GC を行う並行並列論理型言語処理系KLIC 上に実装し,動的に殿堂入り時期調節を行わない世代GC との性能比較を行った.In generational GC schemes, objects are allocated to the young generation area and are advanced to the old generation area after surviving a small number of collections. This advancement is called tenuring. Tenuring too late makes some short-lived objects that some of them have already become garbage and long-lived objectsreside together in the young generation, making memory reference locality worse. On the other hand, tenuring too early makes it impossible to collect short-lived objects in the young generation; its mark/cons ratio becomes worse and, as short-lived objects are moved to the older generation, more older generation GCs will be required. For the best performance, we should adjust tenuring timings dynamically according to programs and their execution phases. Many adaptive tenuring policies have been proposed.However, most of them aim at improving mark/cons ratio of the younger generation and improvementsin cache performance are not proven with experimental evidences. In this work, we (1) measure object lifetime distributions on several programs, and how cache misses and execution times vary with different tenuring timings, (2) make a simple analytical model to estimate an appropriate young generation size, (3) propose a cache-conscious adaptive tenuring policy, and (4) implement dynamic young generation size adjustment mechanism with this policy into KLIC and compare its execution time to one with conventional generational GC on several programs.