JP2010225140A - 意図的なエラーによるエネルギー最適化 - Google Patents

意図的なエラーによるエネルギー最適化 Download PDF

Info

Publication number
JP2010225140A
JP2010225140A JP2010024990A JP2010024990A JP2010225140A JP 2010225140 A JP2010225140 A JP 2010225140A JP 2010024990 A JP2010024990 A JP 2010024990A JP 2010024990 A JP2010024990 A JP 2010024990A JP 2010225140 A JP2010225140 A JP 2010225140A
Authority
JP
Japan
Prior art keywords
computer system
error
computer
module
errors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010024990A
Other languages
English (en)
Other versions
JP5473647B2 (ja
Inventor
Miodrag Potkonjak
ポトコニャック,ミオドラッグ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Technology Currents LLC
Original Assignee
Technology Currents LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Technology Currents LLC filed Critical Technology Currents LLC
Publication of JP2010225140A publication Critical patent/JP2010225140A/ja
Application granted granted Critical
Publication of JP5473647B2 publication Critical patent/JP5473647B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Power Sources (AREA)

Abstract

【課題】意図的なエラーによるエネルギー最適化を提供する。
【解決手段】コンピュータシステムにおいて意図的にエラーを許容して当該コンピュータシステムのエネルギー消費を最適化する。費用便益分析を実行して、コンピュータシステムにおける1個以上の許容可能なエラーおよび1個以上の許容不可能なエラーを識別する。費用便益分析により、許容可能なエラーを、コンピュータシステムの精度に関してエネルギー消費を最適化するために受容可能なエラーとして識別することができる。費用便益分析により、許容不可能なエラーを、コンピュータシステムの精度に関してエネルギー消費を最適化するために受容不可能なエラーとして識別することができる。
【選択図】図1

Description

各種のモバイル機器等の装置は、動作するために相当量のエネルギーを使用する。例えば、モバイル機器は高帯域幅無線通信のようにエネルギーを大量に消費する動作を実行する場合がある。更に、ゲーティング等の適応型アーキテクチャ技術や装置組み込み型の再設定可能な装置もまた、大量のエネルギーを消費する場合がある。
モバイル機器に関する顧客満足度は、無線通信に伴うサービス品質(「QoS」)に大きく依存する。顧客は多くの場合、一定レベルのQoSを要求する。一部のサービスプロバイダは、特定の顧客に対してQoSのレベルを保証する場合もある。従って、QoSを代償に移動マルチメディア機器の使用エネルギー量を減らすのは望ましくないであろう。しかし、従来のエネルギー大量消費型技術はQoSを考慮していないことが多く、無意識にQoSを悪化させる恐れがある。
本開示は、上記および他の問題の解決に取り組んだものである。
本開示の上述および他の特徴は、添付の図面を参照しながら以下の説明および付属の請求項から明らかになろう。これらの図面が本開示によるいくつかの実施形態を示すだけであり、従ってその範囲を限定しないとの理解に基づいて、添付の図面を用いて本開示を更に具体的且つ詳細に記述するものである。
本開示のいくつか実施形態による、コンピュータシステムのライフサイクル内で、費用便益モジュール(cost-benefit module)の実装例を示す模式図である。 本開示のいくつか実施形態による、費用便益モジュールの実装例を示すブロック図である。 本開示のいくつか実施形態による、エラー修正/防止モジュールの実装例を示すブロック図である。 いくつか実施形態による、コンピュータシステムのエネルギー消費を最適化するようにコンピュータシステムにおいて意図的にエラーを許容する例示的な処理を示すフロー図である。 本明細書に示す実施形態を実装可能なコンピュータシステムの例示的なコンピュータハードウェアのアーキテクチャを示すコンピュータアーキテクチャ図である。
以下の詳細説明において、本明細書の一部をなす添付の図面を参照する。これらの図面において別途明記されない限り、類似記号は類似の構成要素を示す。詳細説明、図面、および請求項に記載されている例示的な実施形態は限定を目的としていない。他の実施形態を用いてもよく、本明細書に提示する主題の概念または範囲から逸脱することなく他の変更がなされてもよい。本明細書に一般的に記述されて、図示されている本開示の各態様を各種の異なる構成で配置、置換、組合せ、分離、および設計可能であって、その全てを本明細書で明示的に考察していることが容易に理解されよう。
以下の開示内容は特に、コンピュータシステムの設計、実装、分析、および/または演算を実行する間に、少なくともその結果の一部において意図的にエラーを許容する技術に関する方法、装置、システム、およびコンピュータプログラム製品を目的としている。本明細書に提示する技術および概念を利用して意図的にエラーを許容することにより、コンピュータシステムにおけるエネルギー最適化が可能になる。
いくつか実施形態によれば、エラーの許容またはエラーの修正/防止に基づく費用便益分析を実行することによりエラーを許容するか否かを判定する。本明細書で用いるエラーを「許容する」との表現は、従来のエラー修正および防止技術に基づくエラーの修正または防止を行なわないことにより、意図的にエラーの発生を許容することを指す。所与の閾値を越えて便益が費用を上回る好適な費用便益分析が得られた場合、エラーを許容する旨の判定がなされる。一方、所与の閾値を越えて費用が便益を上回る、好適でない費用便益分析が得られた場合、エラーを許容しない旨の判定がなされる。便益の例として、省エネルギー、動作の柔軟性、シリコン製造工程の変動および動作条件の変動に対する弾力性の向上が含まれるが、これに限定されない。費用の例として、動作の複雑さ、潜在的なQoSの低下、およびユーザー/顧客の評価が含まれるが、これに限定されない。
本明細書に記述する技術および概念は、プログラム可能且つ専用のシステム、データパス、有限状態機械、メモリ構造、配線(interconnects)、電力網、およびクロック分配回路を含むがこれに限定されない各種の装置で実装可能である。更に、本明細書に記述する技術および概念は、従来の実装操作(implementation operations)(例:ゲートサイジング、集積回路マスク設計)だけでなく、従来の設計操作(design operations)(例:アーキテクチャ合成、論理合成、物理設計)を拡張することができる。
図面を参照するに、意図的に時折生じるエラーを許容することよりエネルギー消費を最小化するコンピュータシステムおよび方法の態様について述べる。図1は、本開示のいくつか実施形態による、コンピュータシステムのライフサイクル内で費用便益モジュールの実装例を示す図である。特に、図1は、費用便益モジュール106の簡素化された動作フロー100を例示する。費用便益モジュール106は、コンピュータシステムのライフサイクルの任意の区間で動作することができる。いくつか例示の実施形態によれば、コンピュータシステムのライフサイクルは、設計段階102A、製造段階102B、および実装段階102C(集合的に「段階102」と呼ぶ)を含んでいる。図示する段階102におけるコンピュータシステムのライフサイクルの分類は単に例示的に過ぎず、コンピュータシステムのライフサイクルは当業者が想起できる各種の他の方法により表わすことができる点を理解されたい。
各種実施形態によれば、設計段階102Aは、コンピュータシステム設計のあらゆる適当なフェーズを含んでいてよい。設計段階102Aは、コンピュータシステム、並びに当該コンピュータシステム内の各種要素および下位要素に関する設計操作の選択および構成を指す場合がある。例えば、設計段階102Aは、集積回路の設計に関する配置およびルーティング等の電子設計オートメーション(「EDA」)操作を指す場合がある。製造段階102Bは、コンピュータシステム製造のあらゆる適当なフェーズを含んでいてよい。製造段階102Bは、コンピュータシステム全体、並びに当該コンピュータシステム内の各種要素および下位要素に関する製造操作(manufacturing operations)の選択および構成を指す場合がある。
実装段階102Cは、コンピュータシステム実装のあらゆる適当なフェーズを含んでいてよい。特に、実装段階102Cは、コンピュータシステム全体、並びに当該コンピュータシステム内の要素および下位要素に関する実装操作の選択および構成を指す場合がある。設計段階102Aに記述された上例に関して、製造段階102Bは、設計段階102Aにおいて設計された集積回路の製造を指す場合があり、実装段階102Cは、設計段階102Aにおいて設計され、製造段階102Bにおいて製造された集積回路の実装を指す場合がある。簡潔のため、本明細書における「コンピュータシステム」という表現は全て、コンピュータシステム全体および/または当該コンピュータシステム内の要素および下位要素を指す場合がある。
設計段階102A、製造段階102B、および実装段階102Cは各々、汎用プロセッサ、専用プロセッサ(例:デジタル信号プロセッサ(「DSP)、マイクロコントローラ、グラフィックプロセッサ、ネットワークプロセッサ等)、特定用途向け集積回路(「ASIC」)、フィールドプログラマブルゲートアレイ(「FGPA」)の設計、製造、および実装を指す場合がある。図1に示すように、費用便益モジュール106は、設計段階102A、製造段階102B、および/または実装段階102Cの任意の組合せで実装してもよい。
各実施形態によれば、費用便益モジュール106は、108Aでエラーを許容するかまたは108Bでエラーを修正または防止するか否か判定するために、段階102の一つ以上実行する間に各種の費用便益分析を実行してよい。費用便益モジュール106は、エラーを許容することで生じる省エネルギー(すなわち便益)を最大にしながら、エラーの影響(すなわち費用)を最小化する各々の目標のバランスを取るべく構成することができる。いくつかの例において、108Aでエラーを許容する旨の決定は、コンピュータシステムの設計、製造、または実装に対するエラーの影響が比較的低いことに起因する場合がある。他の例において、108Aでエラーを許容する旨の決定は、コンピュータシステムの設計、製造、または実装の変更に起因する場合がある。これらの変更がエラーの影響を減らすこともある。エラーの影響は、段階102のうち1個以上を実行する間に予測的方法および/または実際のテストにより決定することができる。影響の例として、コンピュータシステムの温度、コンピュータシステムの電圧変動、およびコンピュータシステムのソフト・ラディエーション(soft radiation)エラー率が含まれるが、これに限定されない。費用便益モジュール106について、図2を参照しながら以下により詳細に述べる。
図2は、本開示のいくつか実施形態による、費用便益モジュールの実装例を示すブロック図である。図2に示すように、費用便益モジュール106は、計算タスク分析モジュール202、データ分析モジュール204、設計モジュール206、製造モジュール208、実装モジュール210、命令生成モジュール212、処理選択モジュール214、コンパイルモジュール216、エラー修正/防止モジュール218、システム分析モジュール220、および性能検証モジュール222のうち1個以上を含んでいてよい。説明の便宜上、モジュール202〜222は費用便益モジュール106内に並行的に実装されているものとして示す。しかし、費用便益モジュール106をモジュール202〜222の1個以上の任意の組合せで実装してもよい点を理解されたい。更に、モジュール202〜222が互いに排他的であるようには意図していない点も理解されたい。モジュール202〜222は、ハードウェア、ファームウェア、ソフトウェア、またはこれらを組合せて実装することができる。
現在開示されているいくつか実施形態によれば、計算タスク分析モジュール202は、コンピュータプログラムを分析して、(1)コンピュータシステムがコンピュータプログラムを実行した場合に実行される演算、(2)演算におけるエラー、および(3)エラーがどのように演算に影響を及ぼすかを判定するように構成することができる。例えば、計算タスク分析モジュール202は、集積回路がそれ以上大きい入力値に対しては動作しない乗算器を有していると判定することができる。この判定に基づき、乗算を実行しないかまたは小さい入力値で乗算を実行するように集積回路を設計および/または実装することができる。このように、乗算器に関して何ら変更を必要とせずに集積回路を設計および/または実装することができる。
小さい入力値は、その2値表現の先頭に特定個数のゼロを有する値を指す場合がある。小さい入力値を識別する先頭のゼロの閾値は、特定の実装に応じて変わり得る。大きい入力値は、小さい入力値と比較して先頭のゼロが少ない任意の入力値を指す場合がある。一例として、バイナリ値「0000 0101」は小さい入力値(すなわち、先頭にゼロが約5個)と考えられ、一方バイナリ値「0110 0000」は大きい入力値(すなわち、先頭のゼロが5個未満)と考えることができる。先頭のゼロの個数がより少ないか多いかにより、より大きいまたはより小さい値を表わす他の例も考察できる。
計算タスク分析モジュール202は、記号分析(symbolic analysis)、区間分析(interval analysis)、シミュレーション、統計的分析、および統計的分析を用いるシミュレーションを含むがこれに限定されない各種の異なる分析を実行することができる。記号分析は、実際に実行される処理における演算、およびこれらの演算が実行される条件の分析を指す場合がある。例えばある演算は、条件文(例:if−then−else文)により入力が特定の値を有する場合のみ実行されてよい。区間分析シミュレーションは、第1の演算の出力が第2の演算に対する入力になる状況を指す場合がある。特に、区間分析シミュレーションは、第1の演算で生じたエラーが第2の演算に対してどのように影響を及ぼすかを分析する。いくつかの実施形態において、区間分析シミュレーションは、エラーの悪影響を過大評価するかまたは少なくとも過小評価しないことによる最悪または最悪に近い場合の結果を出力するように設計されている。
シミュレーションは、一組の代表的な入力を適用して、その代表的な入力により何らかのエラーが生じるかを観察することを指す。適当な入力の組をシミュレートすることにより、特定の種類の入力に基づいて修正が必要な時点を判定することができる。統計的分析は、受容不可能なエラーが誘発する恐れのある計算を特定することを指す。例えば、長いループは往々にしてその種の受容不可能なエラーを誘発する傾向があり、特にこれらの長いループが分岐を有する場合にそうである。統計的分析を用いるシミュレーションは、シミュレーション結果に対して統計的分析を実行することを指す。
各実施形態によれば、データ分析モジュール204は、所与の入力の組に基づいてコンピュータシステムにより実行された際のコンピュータプログラムの動作を分析するように構成することができる。例えば、各クロックサイクルiにおいて第1入力(b)および第2入力(c)に対して実行された単一の加算を含む計算を考慮する。すなわち、各クロックサイクルiにおいてa=b+cが計算される。加算が16ビット加算器で実行されるものと仮定し、データ分析モジュール204について、最上位ビットが常に0値であるように誤って計算されると判定するものと仮定する。各クロックサイクルiについて第1入力(b)および第2入力(c)が15個より少ない有効ビットを用いる場合は修正の必要がない。しかし、第1入力(b)および第2入力(c)が15または16ビットの数である場合、16ビット加算器の結果を修正する必要があるかもしれない。第1入力(b)および第2入力(c)が15または16ビットの数である場合、データ分析モジュール204は結果の2個の最上位ビットを監視し、最上位ビットをゼロから1に変更する必要があれば必要に応じて修正することができる。
計算タスク分析モジュール202およびデータ分析モジュール204は、設計段階102Aを実行する間に用いられたコンピュータ支援ドラフティング(「CAD」設計ツールに実装されていてもよい点を理解されたい。計算タスク分析モジュール202およびデータ分析モジュール204から生成された結果データは、設計モジュール206、製造モジュール208、実装モジュール210、およびコンパイルモジュール216等の他のモジュールへ提供されてよい。計算タスク分析モジュール202およびデータ分析モジュール204の結果はまた、コンピュータプログラムのコンパイル処理を最適化するようにコンパイルモジュール216に対して指針を提供することができる。
各実施形態によれば、設計モジュール206は、1個以上の設計エラーが許容された際の精度(例:エラー率、QoSへの影響)とエネルギー消費との定量的トレードオフを考慮した費用便益分析に基づいて設計操作を選択して設定する。例えば、設計モジュール206は、コンピュータシステムが特定のエラー、例えばQoSに及ぼす影響が限定的と考えられるエラーを許容できるようコンピュータシステムを設計する設計操作を選択して設定することができる。
設計モジュール206は、各種のテストおよび分析方法を用いて、設計段階102Aを実行する間にエラーを許容することに伴う関連便益および費用を判定することができる。いくつかの実施形態において、設計モジュール206は、異なる条件下で多様なエラーが生じる機能ユニットおよびメモリ素子の設計および使用を含むアーキテクチャ合成技術を実行する。例えば、設計モジュール206は、稀な入力の組合せが生じる確率が比較的低い連鎖ユニットの設計を可能にすることができる。特に、機能ユニットへの入力の数が増えるにつれて、長い組合せ経路が高感度になる(long combinational paths become sensitized)可能性が減少する。
機能ユニットは、論理または算術演算を実行するように構成されたハードウェアモジュールであってよい。機能ユニットの非限定的な例として、加算器、減算器、比較器、乗算器、除算器、累算器、算数論理ユニット、またはこれらの任意の合理的な組合せのうち1個以上を含んでいてよい。機能ユニットは、1個以上のレジスタからデータを読み込んで、1個以上のレジスタに結果を書き込むべく構成されていてよい。2個以上の機能ユニットが、一方の出力がもう一方の入力であって当該2個以上の機能ユニットの間にはレジスタが配置されていないように相互に結合されている場合、当該機能ユニットは「連鎖的」と考えることができる。例えば、乗算累算器(「MAC」)は、連鎖的なユニットとして実装可能であって、乗算器が1クロックサイクル内で加算器にその結果を送るべく、乗算器を加算器と協調的に構成することができる。
別の実施形態において、設計モジュール206は、動作合成の最適化(behavioral synthesis optimizations)および他の高レベルな合成演算(synthesis operations)を実行する。例えば、設計モジュール206は、語長の要件(word-length requirements)および数値安定性に影響を及ぼすプログラム変換を考慮してよい。設計モジュール206は更に、適用するプログラム変換、プログラム変換を適用する場所、およびプログラム変換を適用しる順序の指針を与えるために各種の発見的且つ統計的技術を用いることができる。他の適当な動作合成最適化として、分割、モジュール選択、演算チェイニング、およびクロックサイクル時間選択が含まれるがこれに限定されない。
別の実施形態において、設計モジュール206は、ゲート制御されたエラー検出/修正論理(gated error detection and correction logic)を有する機能ユニットの設計を可能にする。エラー検出論理は、エラーを検出するように構成された論理ブロックであるのに対し、エラー修正論理はエラーを修正するように構成された論理ブロックである。例えば、2個の正数の加算の結果負数が得られた場合、エラー検出論理は最上位ビットを調べて、正から負への不適切な符号の変化が検出された場合にエラーを検出することができる。エラー修正論理の一例として、より多くの電力を消費するが比較的高い割合で正しい結果を与える加算器が挙げられる。エラー検出/修正論理によりエラーが検出された場合、エラー修正論理内の加算器は、正しい結果を得るために必要なだけ加法演算を繰り返すことができる。エラー検出/修正論理は、ゲート制御されたモジュールとして実装されていてよい。特に、エラー検出およびエラー修正機能は、使用する必要が無い場合は無効化(ゲートオフ)され、使用が必要な場合に有効化(ゲートオン)することができる。
更に、機能ユニットは、ほとんど生じない入力および動作条件が比較的低い確率で用いられるクリティカルパスおよびεクリティカル(またはイプシロンクリティカル)パスを含むように設計されていてよい。クリティカルパスとは、1個の一次回路からの信号入力(例:フリップフロップの入力)と別の一次回路の信号出力(例:フリップフロップの出力)の間の信号経路である。理想的には、第1の一次回路からの信号出力における変化と、第2の一次回路における信号入力への対応信号の到着との間には遅延が無い。しかし、各種の非理想的現象に起因して、信号経路に遅延が生じた結果、システム全体(例:レース条件、セットアップ失敗、およびホールド回数等)における実行エラーが生じる恐れがある。時間間隔または時間遅延(共通的にTcpと呼ぶ)により、全ての結果が正しくなるように、クリティカルパスに沿って伝播する信号が、集積回路のクロックの最高速度を制限する必要が生じる場合がある。εクリティカルパスは、信号が伝播するために少なくとも(TCp−ε)時間間隔を要求する経路であって、εは実装方式に応じて調整可能である。
設計モジュール206は、クロック発生関連のエラーが指定された入力の組に限られるような仕方で、クロック周波数の設計を可能にすることができる。統計的モデリングを用いて、制約検証およびエラーの原因を認識することができる。統計的モデリングは、設計並びに代表的な入力から導出されたパラメータの組に対して実行することができる。
いくつかの例において、統計的モデリングは以下のように実行できる。巨大な代表的入力データの組(例:音声または動画ファイル)を収集する場合がある。当該入力データに対して何らかの計算を実行するためのクロックサイクル時間(すなわち、所与のクロックサイクル数を実行するのに要する時間)をこれらの代表的入力データについて決定できる。特に、異なる入力データに対して、ある割合で演算を正確に実行するのに充分なクロックサイクル時間が決定できる。後で電力効率が高い設計に変更可能な設計を早く行なうために、一部または全てのアプリケーションにおいて演算が正確に実行されない割合が極めて少なくならないように、より短いサイクル時間を選択してもよい。統計的モデリングは、所与の割合を超えて不正確な演算が実行されないように、電力効率に対する計算エラーのバランスを取るようにサイクル時間の選択を支援することができる。
別の実施形態において、設計モジュール206は、信号経路の一部が目標クロック周波数より長いタイミング制約を有するように論理を設計するために、組合せおよび逐次論理合成技術(sequential logic synthesis techniques)を実行するように構成されている。特に、設計モジュール206は、リタイミング、パイプライニング、および技術マッピングを実行することができる。更に別の態様において、設計モジュール206は、回路論理の配置および論理間の信号ルーティング等の物理設計操作を設定する。配置は、各モジュールおよび各ゲートの位置を決定する合成ステップである。ルーティングは、回路間の配線同士を接続する位置が決定される集積回路について、該集積回路を形成する間に用いる場合がある合成ステップである。最先端の合成方法において、ルーティングを大域ルーティングおよび局所ルーティングの二つのフェーズに分割することができる。大域ルーティングは、集積回路のどの領域を信号配線に用いるかを決定する。局所ルーティング(チャネル割り当てとも呼ばれる)は、2個以上のゲート、回路、トランジスタ、コンデンサ、抵抗を接続する配線の正確な配置箇所を決定する。
各実施形態によれば、製造モジュール208は、製造段階102Bにおいて1個以上の製造エラーが許容される場合に、精度とエネルギー消費との間の定量的トレードオフを考慮した費用便益分析に基づいて製造操作を選択して設定する。いくつかの実施形態において、製造エラーは製造ばらつき(manufacturing variability)を指す場合がある。他の実施形態では、製造エラーはまた、精度とエネルギー消費との間のトレードオフに基づく製造における優先事項を指す場合がある。製造モジュール208は、各種のテストおよび分析方法を用いて、エラーの許容に伴う関連便益および費用を決定することができる。
各実施形態によれば、実装モジュール210は、1個以上の実施エラーが許容される場合に、精度とエネルギー消費との間の定量的トレードオフを考慮した費用便益分析に基づいて実装操作を選択して設定する。実装モジュール210は、各種のテストおよび分析方法を用いて、実装段階102C実行中のエラーの許容に伴う関連便益および費用を決定することができる。実装モジュール210は、ゲートサイジング、配線クロストークの少なくとも一部は意図的に許容すること、電力グリッド欠陥の少なくとも一部は意図的に許容すること、タイミング収束動作(timing closure operations)、およびマスク設計操作を含むがこれに限定されない各種の実装操作を考慮していてよい。
ゲートサイジングは、トランジスタにおける導通チャネルの幅および/または長さ等、各ゲートの物理的な寸法を、特定の目的(例:電力、速度、金型面積に伴う費用)が最適化されるように指定された値に設定する処理を指す。ゲートサイジングの実行中、トランジスタは名目ライブラリ値(nominal library value)に関して同じ倍数因子(multiplicative factor)により変更される。ゲートを形成するトランジスタの大きさが、トランジスタ同士の比率が維持されないように設定される場合、合成ステップはトランジスタサイジングと呼ばれる。また、各々の配線は、目的が最適化されるように幅を調整することによりサイズを設定することができる。
意図的な許容とは、エラーが精度に及ぼす影響が低いおよび/または稀であり、更に、電力、速度その他の目的のためにエラーが有益であるために、関連する設計において特定のエラー(例;ばらつき)を意図的に受容する行為を指す。電力グリッド欠陥とは、稀に極端な高電圧ノイズが生じる場合もある、集積回路上の電圧供給および地上ネットワークにおけるエラーを指す。配線クロストークとは、1個以上の近接する配線が信号に影響を及ぼして、正確な信号が抑制および変更されるかまたは偽の不正確な信号を発生させる現象を指す。
タイミング収束とは、全体的なクロック遅延を目標遅延まで減少させるように変更する必要があるモジュールまたはゲートについて、該モジュールまたはゲートを識別することを目標とする合成および分析手順を指す。また、遅延減少を実現するために再合成ステップを実行してもよい。
マスク設計とは、トランジスタ、配線、および集積回路の他の要素(例:後述する充填(fill-up))を形成するフォトリソグラフィ処理で使用するマスクを生成する処理を指す。半導体ウエハーの表面は多くの場合、露光に反応するフォトレジスト材料でコーティングされる。マスクは、コーティング面に対する光の影響を防止または許容する。その結果、トランジスタ(例:ドレイン、ソース)その他の素子が生成できるように、化学製品および/または他の半導体処理技術を用いてウエハーの露出部分から材料を除去する。
各実施形態によれば、命令生成モジュール212は、計算上のまたは他のエラーを検出および/または修正あるいは防止する、コンピュータシステムにより実行可能な命令を生成する。上述のように、全体的な性能に及ぼす影響が比較的低い場合、エラーを許容してもよい。当該エラーは当然ながら影響が小さいか、または命令生成モジュール212が生成した命令を実行することにより影響を軽減することができる。
各実施形態によれば、処理選択モジュール214は、1個以上の処理および他のエラーが許容される場合に、精度とエネルギー消費との間のトレードオフを最適化する方法を選択する。処理選択モジュール214は、1個以上の関連タスクを解決可能な一群の従来方式の処理から適当な処理を選択することができる。このような一群の処理の例として、高速フーリエ変換(「FFT」)フィルタ、離散コサイン変換(「DCT」)フィルタ、有限インパルス応答(「FIR」)フィルタ、無限インパルス応答(「IIR」)フィルタ等を含む一群のデジタルフィルタである。これらのフィルタにより同一入力から同一結果を得ることができる。しかし、各フィルタは、異なる動作を実行することができ、エラーに対して異なる感度を有していてよい。例えば、指定された同一フィルタに対して、FIRフィルタは対応するIIRフィルタより多くの動作を要求する場合がある。しかし、FIRフィルタは、一般に計算その他のエラーに影響されやすいIIRフィルタに比べて、エラーに対して一般に弾力的である。一群の処理の別の例として、バブルソート、挿入ソート、基数ソート、マージソート等を含む一群のソート処理がある。処理選択モジュール214を用いて、コンピュータシステムで実行される処理を設計モジュール206が設計および/または実装モジュール210が実装することができる。
他の実施形態によれば、コンパイルモジュール216は、1個以上のコンパイルおよび他のエラーが許容される場合に、精度とエネルギー消費との間のトレードオフを容易にするようにコンピュータプログラムのコンパイル処理を最適化する。一般に、コンパイラはコンピュータシステムでの実行により適するように、高レベルコンピュータプログラムを下位レベルの表現に変換する。コンパイルモジュール216は、語長要件および数値安定性に影響を及ぼすプログラム変換を考慮していてよい。更に、発見的且つ統計的技術を用いて、どの変換を適用するか、およびどの順序で変換を適用するかの指針を与えることができる。
更に他の実施形態によれば、エラー修正/防止モジュール218は、コンピュータシステムがコンピュータプログラムを実行している間に、許容されたエラーを検出並びに修正または防止するように構成することができる。エラー修正/防止モジュール218は、当業者に想起されるように、各種のエラー検出およびエラー修正/防止技術の任意のものを用いることができる。更に、エラー修正/防止モジュール218は、エラーの検出およびエラーの修正/防止を可能にする、命令生成モジュール212により生成された命令を受信することができる。エラー修正/防止モジュール218の動作は、特定のエラーが検出された場合に起動することができる。
図3は、本開示のいくつか実施形態による、エラー修正/防止モジュール218の実装例を示すブロック図である。図3に示すように、いくつかの実施形態において、エラー修正/防止モジュール218は、第1コンピュータシステム302Aでなされた所与の計算の結果を、第1コンピュータシステム302Aと同一または機能的に同等である第2コンピュータシステム302Bの結果と比較することによりエラーを検出する。別の実施形態において、エラー修正/防止モジュール218は、エラーが生じる第1コンピュータシステム302Aの設計と、エラーが生じない第2コンピュータシステム302Bの設計との間の相違を追跡することによりエラーを診断する。エラー修正/防止モジュール218は、各種のモデリング技術(例えばシミュレーション、エミュレーション)を用いて、またはコンピュータシステム302A、302Bを実際に実行させてエラーを検出することができる。
いくつかの実施形態において、エラー修正/防止モジュール218は、特定の条件が満たされた場合に結果を修正する専用回路を実装する。別の実施形態において、エラー修正/防止モジュール218は、コンピュータプログラムへの入力の一部を入れ替える。別の実施形態において、エラー修正/防止モジュール218は、コンピュータプログラムにおける中間変数の一部を入れ替える。別の実施形態において、エラー修正/防止モジュール218は、コンピュータプログラムの命令の一部を入れ替える。これらの入れ替えは静的でも動的でもよい。
別の実施形態において、エラー修正/防止モジュール218は、コンピュータシステム302A、302Bのように2個以上のコンピュータシステムにおけるコンピュータプログラムの実行を調整する。この場合、第2コンピュータシステム302Bがコンピュータプログラムにおけるエラーを修正する間、第1コンピュータシステム302Aにおけるエネルギー消費は、意図的なエラーの発生により最小化される。あるいは、第2コンピュータシステム302Bがコンピュータプログラムで利用されるデータのエラーを修正する間、第1コンピュータシステム302Aのエネルギー消費は、意図的なエラーの発生により最小化される。別の実施形態において、エラー修正/防止モジュール218は、入力の統計的分析を通じてエラーを修正するように構成されている。
再び図2を参照するに、各実施形態によれば、システム分析モジュール220は、費用便益分析に基づいてどのエラーを許容するか(例:修正されないエラー)を選択し、設計モジュール206、製造モジュール208、実装モジュール210、およびその他関連モジュールの動作を分析して、コンピュータシステムの精度とエネルギー消費を推定するように構成することができる。システム分析モジュール220は、シミュレーション、エミュレーション、または実際の実行の3機能のうち一つを実行することによりエラー修正/防止モジュール218の結果を検証することができる。特に、システム分析モジュール220は、許容されたエラーによる悪影響を最小限にする満足なレベルまで、許容されたエラーが修正されたことを、検証することができる。
シミュレーションにより、適当なコンピュータシステム(例:パーソナルコンピュータ(「PC」)または複数のPCの集団)で実行されるプログラムを用いて、設計されたハードウェアの、高級言語で指定された動作を分析する。エミュレーションは、特注の再設定可能なハードウェア(例:フィールドプログラマブルゲートアレイ(「FPGA」))で実行されるプログラムを用いて、設計されたハードウェアの、高級言語で指定された動作を分析する。シミュレーションはエミュレーションに比べて使い勝手が良く、コストが安く、開発時間が短くて済む。しかし、実行速度はエミュレーションの方がはるかに速い。
各実施形態によれば、性能検証モジュール222は、コンピュータシステム上でコンピュータプログラムを実際に実行する間の推定精度および推定エネルギー消費を検証(validate)するように構成することができる。特に、性能検証モジュール222は、以前の評価を検証するために、コンピュータシステムの動作の実際の精度および実際のエネルギー消費を推定精度および推定エネルギー消費と比較することができる。
費用便益モジュール106を適用する具体例について以下に述べる。例えば(しかしこれに限定されない)、非常に小さい四次IIRフィルタのインスタンスを以下のように生成できる。
s1=In+c1*s1@1+c2*s2@1
s2=s1@1
Out=s1+c3*s1@1+c4*s2@2
N次IIRフィルタは以下により与えられる。
Figure 2010225140
更に、IIRバイクワッド(IIR biquad)に対する出力と入力の関係は以下により識別できる。IIRの様々な表現が当業者に知られており、これら他の表現も同様に用いてよい点を理解されたい。
=a+at−1+at−2+Bt−1+Bt−2
この演算は同期データフローを意味する。すなわち、計算は連続的に実行され、4サイクル目毎に、新規入力Inが受信されて新規出力Outおよび2個の新規な状態s1、s2が得られる。符号s1@1は、先の繰り返しにおいて生成されたsの値を示す。この場合、変数「@」を用いてX、YまたはIn、Out等の関連する添え字を置換する。例えば、t−1、t−2、...t−kを含む方程式で、下付き添え字tを@で置換することができる。従って、t−1は@1になり、t−2は@2になり、以下同様にt−kが@kになる。計算の最初に3回繰り返した結果は以下の通りである。
s11=In1+c1*s10+c2+s20
s21=s10
0ut1=s11+c3+s10+c4*s20

s12=In2+c1*s11+c2*s21
s22=s11
0ut2=s11+c3*s11+c4*s21

s13=In3+c1*s12+c2*s22
s23=s12
Out3=s11+c3*s12+c4*s22
図示する例において、計算タスク分析モジュール202は、当該計算が定数との4回の乗算および4回の加算を含んでいることを識別できる。計算タスク分析モジュール202はまた、c3およびc4との乗算を計算する際のエラーは、これらのエラーが出力にしか影響を及ぼさないため、より容易に修正されて許容できるものと結論付けるだろう。他の2回の乗算は、将来の出力全部に対して影響を及ぼす恐れがあるため、より有害であると考えられる。従って、c1およびc2が小さければ、計算タスク分析モジュール202は、たとえ他の2回の乗算が誤って計算される場合が多くても、意図的に短いサイクル時間を導入することができる。これらのエラーは一般に、検出および修正が容易である。更に、乗算器は通常、加算よりもはるかに多くのエネルギーを消費するため、これらのエラーは相当のエネルギー量を節減できる。
データ分析モジュール204は、入力および状態の値が小さい限り、エネルギーを節約するために最悪ケースの分析が示すよりも速い乗算器を利用できる、と認識および判定できる。あるいは、データ分析モジュール204は、Inが非常に低い値である場合、当該の繰り返しを飛ばして次の繰り返しで出力、入力、状態を修正できる、と認識および判定できる。
設計モジュール206は、目標サイクル時間を達成するには遅過ぎる乗算器または加算器を生成する場合がある。特に、設計モジュール206は、エラーの確率、エラーを修正するコストを計算して、エネルギー効率を向上させるべく、意図的に加算器および乗算器内のいくつかの組合せ経路を非常に遅くするように設計することができる。実装モジュール210は、これらの経路が非常に遅くなり且つエネルギー効率を大いに高めるように経路上のゲートの大きさを設定することができる。あるいは、実装モジュール210は、これらの経路上のゲートに低電力の遅いゲートライブラリを用いることができる。製造モジュール208は、これらのゲートの近くに充填材を配置することができる。あるいは、製造モジュール208は、これらのゲート上ではいくつかの光学的修正動作を実行しないか、またはこれらのゲートを接続する配線上でクロストークを許容する場合がある。
集積回路は、製造時に化学機械的研磨(「CMP」)を受ける場合がある。しかし、ある領域(例:配線)は金属部分が多く、他の領域は金属部分が少ない。この点に関して、CMPでは金属部分が少ない領域(すなわち柔らかい領域)でより多くの材料が除去されてしまう。この不都合を避けるために、いくつか領域に金属の細かいパターン(例:正方形)を加えて金属の分布をより均一にし、これによりCMPの効果を増大させることができる。この処理を「充填」と呼ぶ。
命令生成モジュール212は、ユーザー、オペレーティングシステム、および/またはコンパイラに対しどのエラーが許容されるかを通知し、更にこれらのエラーを検出およぶ修正するコードを提供することができる。処理選択モジュール214は、各種のフィルタ構造を、それらのエネルギーコスト、および各種のエラーの組を許容することによるエネルギーコストの削減に対する適合性に関して、分析することができる。例えば、処理選択モジュール214は、そのような基準に従いFIRフィルタを選択することができる。
コンパイルモジュール216は、プログラマブルプロセッサを対象にしてIIRバイクワッドを実装することができる。例えば、コンパイルモジュール216は、演算におけるエラー修正の余裕時間を短縮するために、繰り返しの早い時点での修正を必要とする演算をスケジューリングできる。より具体的には、コンパイルモジュール216は、繰り返しの第1クロックサイクルにおいて遅い乗算器を割り当ててスケジューリングできる。エラー修正/防止モジュール218は、c3およびc4との乗算の不正確な計算が修正されるように、変数の値を変更できる。あるいは、エラー修正/防止モジュール218は、変数s1、s2、およびInの特定の値に対する変数Outの値を修正するために、変数Outが計算された後に別の加算器を追加してもよい。
システム分析モジュール220は、許容されたエラー、アーキテクチャ、実装、および修正の特定の組を選択し、これらの選択に基づいて、エネルギー消費および正確さに関してシステムを分析する。性能検証モジュール222は次いで、新規入力を適用して実際の省エネルギーを判定することができる。
図4は、いくつか実施形態による、コンピュータシステムにおいて意図的にエラーを許容してコンピュータシステムのエネルギー消費を最適化する例示的な処理を示すフロー図である。本明細書に記述する論理演算が(1)コンピュータに実装された一連の動作またはコンピュータシステムで実行されるプログラムモジュールおよび/または(2)コンピュータシステム内で相互に接続された機械論理回路または回路モジュールとして実装できる点を理解されたい。実装は、コンピュータシステムの性能その他の要件に依存する選択の問題である。従って、本明細書に記述する論理演算は、状態演算、構造化された機器(structural devices)、動作、またはモジュールとして様々に言及される。これらの演算、構造化された機器、動作、およびモジュールは、ソフトウェア、ファームウェア、専用デジタル論理、およびこれらの任意の組合せで実装することができる。実行する演算が、図示および本明細書に記述したものより多くても少なくてもよい点を理解されたい。これらの演算はまた、本明細書に記述したものとは異なる順序で実行してもよい。
ルーティン400は演算402から始まり、計算タスク分析モジュール202は計算タスク分析を実行するように設定される。計算タスク分析とは、コンピュータプログラムを分析して、コンピュータシステムがコンピュータプログラムを実行する際に実行される演算、演算におけるエラー、および演算間のエラーの影響を決定することを指す。ルーティン400は演算404へ進み、データ分析モジュール204がデータ分析を実行するように設定される。データ分析とは、所与の入力の組に基づいて、コンピュータシステムにより実行された際のコンピュータプログラムの動作および/またはコンピュータシステム自体の分析を指す。
ルーティン400は演算406へ進み、設計モジュール206が、コンピュータシステムを設計する際に当該コンピュータシステムにおいて特定のエラーを容易に許容できるように、設計操作を選択して設定する。特に、設計モジュール206は、計算タスク分析モジュール202およびデータ分析モジュール204から提供された情報に基づいて設計操作を選択して設定することができる。ルーティン400は演算408へ進み、製造モジュール208が、コンピュータシステムを製造する際に当該コンピュータシステムにおいて特定のエラーを容易に許容できるように、製造操作を選択して設定する。設計モジュール206と同様に、製造モジュール208は計算タスク分析モジュール202およびデータ分析モジュール204から提供された情報に基づいて製造操作を選択して設定することができる。ルーティン400は演算410へ進み、実装モジュール210が、コンピュータシステムを実装する際に当該コンピュータシステムにおいて特定のエラーを容易に許容できるように、実装操作を選択して設定する。設計モジュール206および製造モジュール208と同様に、実装モジュール210は、計算タスク分析モジュール202およびデータ分析モジュール204から提供された情報に基づいて実装操作を選択して設定することができる。
ルーティン400は演算412へ進み、命令生成モジュール212が、エラーの検出と共に修正または防止も行なうべく動作するコンピュータプログラム命令等の命令を生成する。特に、命令生成モジュール212は、許容されたエラーの検出と共に修正または防止する命令を生成することができる。これらの命令はエラー修正/防止モジュール218に提供されてよい。ルーティン400は演算414へ進み、処理選択モジュール214が、費用便益分析に従い処理グループから適切な処理を選択する。
ルーティン400は演算416へ進み、コンパイルモジュール216が、コンピュータシステムが実行するコンピュータプログラムをコンパイルするように設定される。特に、コンパイルモジュールは、コンピュータシステムにおける特定エラーの許容を容易にするように、コンピュータプログラムをコンパイルする。ルーティン400は演算418へ進み、エラー修正/防止モジュール218が、命令生成モジュール212により生成された命令を実行することにより、コンピュータシステムの演算におけるエラーを検出して修正する。ルーティン400は演算420へ進み、システム分析モジュール220が、許容されたエラーを選択して、許容されたエラーによるエネルギー消費および精度についてコンピュータシステムを分析する。複数の組の許容されたエラーを用いて、エネルギー消費と精度との最適な比率を決定することができる。ルーティン400は演算422へ進み、性能検証モジュール222が、実際の入力を用いた際のエネルギー消費と精度との実際の比率を決定する。
図5は、本明細書に示す実施形態を実装可能なコンピュータシステムの、例示的なコンピュータハードウェアのアーキテクチャを示すコンピュータアーキテクチャ図である。図5は、プロセッサ510、メモリ520、および1個以上のドライブ530を含むコンピュータ500を含んでいる。ドライブ530およびこれに伴うコンピュータ記憶媒体は、計算機可読な命令、データ構造、プログラムモジュール、およびコンピュータ500用の他のデータを記憶する。ドライブ530は、オペレーティングシステム540、アプリケーションプログラム550、プログラムモジュール560、およびデータベース580を含んでいてよい。コンピュータ500は更に、ユーザーがコマンドやデータを入力できるユーザー入力機器590を含んでいる。入力機器は、電子デジタイザ、マイクロホン、キーボード、および一般に、マウス、トラックボールまたはタッチパッドと呼ばれるポインティングデバイスを含んでいてよい。他の入力機器として、ジョイスティック、ゲームパッド、衛星アンテナ、スキャナ等が含まれていてよい。
これらおよび他の入力機器は、システムバスに結合されたユーザー入力インターフェースを介してプロセッサ510に接続することができ、あるいはパラレルポート、ゲームポートまたは汎用シリアルバス(「USB」)等の他のインターフェースおよびバス構造により接続することができる。コンピュータ500等のコンピュータはまた、出力周辺装置インターフェース594等を介して接続可能なスピーカー等の他の周辺出力装置を含んでいてよい。
コンピュータ500は、ネットワークインターフェース596に接続されたリモートコンピュータ等、1個以上のコンピュータへの論理的接続を用いて、ネットワーク化された環境で動作することができる。リモートコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスその他の一般的なネットワークノードであってよく、またコンピュータ500に関連して上で述べた要素の多くまたは全てを含んでいてよい。ネットワーク環境は、オフィス、企業向けワイドエリアネットワーク(「WAN」)、ローカルエリアネットワーク(「LAN」)、イントラネット、およびインターネットにおいて一般的である。例えば、本出願の主題において、コンピュータ500がデータが移送されるソースマシンを含み、リモートコンピュータが宛先マシンを含んでいてもよく、あるいはその逆であってもよい。しかし、ソースおよび宛先マシンは必ずしもネットワーク508または他の手段により接続されている必要はなく、その代わりに、ソースプラットフォームが書いて宛先プラットフォームまたはプラットフォーム群が読むことができる任意の媒体を介してデータを移送することができる点に注意されたい。LANまたはWLANネットワーク環境で使用される場合、コンピュータ500はネットワークインターフェース596またはアダプタを介してLANに接続されている。WANネットワーク環境で使用される場合、コンピュータ500は通常、インターネットまたはネットワーク508等、WANを介して通信を確立するモデムその他の手段を含んでいる。コンピュータ間で通信リンクを確立する他の手段を用いてもよい点を理解されたい。
いくつか実施形態によれば、コンピュータ500は、本明細書の実施形態に従い、意図的にエラーを許容することによりエネルギーを最適化するように、プロセッサ510および/またはプログラムモジュール560が費用便益モジュール106と協同して、または費用便益モジュール106自体として動作可能なように、ネットワーク環境において接続されている。
本明細書に記述する主題は、コンピュータシステム上のオペレーティングシステムおよびアプリケーションプログラムの実行と協働して実行されるプログラムモジュールとして一般的文脈で提示されているが、他の種類のプログラムモジュールと組合せて他の実装方式を実行できることが当業者には理解されよう。一般に、プログラムモジュールはルーティン、プログラム、コンポーネント、データ構造、および特定のタスク作業を実行するかまたは特定の抽象データ型を実装する他の種類の構造体を含んでいる。更に、本明細書に記述する主題を、携帯機器、マルチプロセッサシステム、マイクロプロセッサ利用またはプログラム可能な家電製品、ミニコンピュータ、メインフレームコンピュータ等を含む他のコンピュータシステム構成により実施できることが当業者には理解されよう。
本開示は、各種の態様の例示を意図して本出願に記述する特定の実施形態に限定されない。当業者には明らかなように、その概念および範囲から逸脱することなく多くの変更や変型を行なうことができる。当業者には、本明細書で列挙したものに加え、本開示の範囲内にある機能的に等価な方法および装置が上の説明から明らかであろう。そのような変更や変型は、添付の請求項の範囲に包含されることを意図している。本開示は、添付の請求項と合わせて、そのような請求項に相当するあらゆる範囲の等価物の記述によってのみ限定されるものとする。本開示が特定の方法、試薬、化合物、組成、または生物系(当然これらは変わり得る)に限定されない点を理解されたい。本明細書で用いる用語は特定の実施形態だけを記述することを目的としており、限定を意図していない点もまた理解されたい。
本明細書における複数形および/または単数形の用語の実質的にあらゆる用例に関して、当業者は、文脈および/または用途に適するように複数形から単数計におよび/または単数形から複数形に翻訳することができる。本明細書において単数形/複数形が様々に入れ替えられているのは、明快さのためのである。
当業者には、一般に、本明細書および特に添付の請求項(例:添付の請求項の本体)で用いる用語は、一般に「開放的」用語(例:「含んでいる」は「含んでいるがこれに限定されない」と解釈すべきであり、「有する」は「少なくとも有する」と解釈すべきであり、「含む」は「含むがこれに限定されない」と解釈すべきである等)であることが理解されよう。当業者は更に、請求項内で特定の数の列挙を意図する場合、そのような意図は当該請求項内で明示的に列挙されており、そのような列挙が無い場合はそのような意図が存在しないものと理解されよう。わかりやすく言えば、例えば添付の請求項では、列挙を行なうために「少なくとも1個の」および「1個以上の」という導入句が使用されていてよい。しかし、そのような語句を使用したからといって、不定冠詞「a」または「an」による請求項の記述を用いた場合に、そのような記述を含む特定の請求項を、記述されたものを1個しか含んでいない実施形態に限定すると解釈すべきではなく、たとえ同じ請求項が導入句「1個以上の」または「少なくとも1個の」、および不定冠詞「a」または「an」を含む場合であってもそのように解釈すべきではない(例:「a」および/または「an」は「少なくとも1個の」または「1個以上の」を意味するものと解釈すべきである)。同じことが請求項の記述に用いる定冠詞の用法についても成り立つ。また、特定の数の請求項の記述が明示的に行なわれている場合でも、そのような記述が、少なくとも記述された数を意味するものと解釈すべきであることを当業者は理解されよう(例:他に修飾語が付いていない単に「2個の」という列挙は、少なくとも2個、または2個以上の列挙を意味する)。更に、「少なくともA、B、およびCその他の1個」に類した表記が用いられる例では、一般にそのような構造は、当業者が当該表記を理解できるように意図されている(例:「少なくともA、B、およびCの1個を有するシステム」が、Aだけ、Bだけ、Cだけ、AとBを共に、AとCを共に、BとCを共に、および/またはA、BおよびCを共に、等を有するシステムを含むがこれに限定されない)。「少なくともA、BまたはC等の1個」に類した表記を用いる例では一般に、そのような構造は、当業者がその表記を理解できる意味を意図している(例:「少なくともA、B、またはCを有するシステム」は、Aだけ、Bだけ、Cだけ、AとBを共に、AとCを共に、BとCを共に、および/またはA、BおよびCを共に、等を有するシステムを含むがこれに限定されない)。当業者には更に、説明文、請求項、または図面のいずれも、実質的に任意の離接語(disjunctive word)および/または2個以上の代替的な項目を表す語句が、一つの項目、いずれかの項目、または両方の項目を含む可能性を考慮していることを理解されよう。例えば、「AまたはB」という語句は、「A」または「B」あるいは「AおよびB」の可能性を含んでいるものと理解されたい。
また、本開示の特徴または態様がマーカッシュグループとして記述されている場合、当業者には本開示が、マーカッシュグループの任意の個々のメンバーまたはメンバーのサブグループに関して記述されていることが認識されよう。
当業者には理解されるように、文書化された記述を提供する場合等、あらゆる目的のために、本明細書に開示する全ての範囲が、任意の可能な部分的範囲およびそれら部分的範囲の組合せをも含んでいる。任意の列挙された範囲は、同範囲が少なくとも同等の半分、三分の一、四分の一、五分の一、十分の一、その他に細分化された状態を十分に記述および許容していることを容易に認識することができる。非限定的な例として、本明細書で議論する範囲を下位三分の一、中央の三分の一、および上位三分の一、等に容易に分割できる。また当業者に理解されるように。「まで」、「少なくとも」、「より大きい」、「より少ない」当の語句は、言及された数を含んでいて、上述のように後で部分的な範囲に分割可能な範囲を指している。最後に、当業者には理解されるように、ある範囲は個々のメンバーを含んでいる。従って、例えば、1〜3個のセルを有するグループは、1、2、または3個のセルを有するグループを指している。同様に、1〜5個のセルを有するグループは、1、2、3、4、または5個のセルを有するグループを指す。
本明細書において各種の態様および実施形態を開示しているが、他の態様および実施形態も当業者には明らかであろう。本明細書に開示する各種の態様および実施形態は、説明目的であって限定の意図はなく、その真の範囲および概念は以下の請求項により示される。

Claims (20)

  1. コンピュータシステムにおいて意図的にエラーを許容して前記コンピュータシステムのエネルギー消費を最適化する方法であって、
    前記コンピュータシステムにおいて1個以上の許容可能なエラーおよび1個以上の許容不可能なエラーを識別する費用便益分析を実行して、前記費用便益分析により前記許容可能なエラーを前記コンピュータシステムの精度に関してエネルギー消費を最適化するために受容可能なエラーとして識別し、前記費用便益分析により前記許容不可能なエラーを前記コンピュータシステムの精度に関してエネルギー消費を最適化するために受容不可能なエラーとして識別するステップと、
    前記コンピュータシステムを、前記コンピュータシステムが前記許容可能なエラーおよび前記許容不可能なエラーを修正または防止する第1の状態から、前記コンピュータシステムが前記許容可能なエラーを許容し、且つ前記許容不可能なエラーを修正または防止する第2の状態へ変換するステップと
    を含む方法。
  2. 前記費用便益分析を実行して1個以上の許容可能なエラーを識別するステップが、
    所与のエラーの許容に伴う前記コンピュータシステムの精度低下の定量的費用を決定するステップと、
    前記所与のエラーの許容に伴うエネルギー消費減少の定量的便益を決定するステップと、
    前記定量的便益が前記定量的費用をある閾値分上回るか否か判定するステップと、
    前記定量的便益が前記定量的費用を前記閾値分上回るとの判定に応答して、前記所与のエラーを前記許容不可能なエラーの1個として識別するステップと、
    前記定量的便益が前記定量的費用を前記閾値分上回らないとの判定に応答して、前記所与のエラーを前記許容不可能なエラーの1個として識別するステップとを含む、請求項1に記載のコンピュータ実装される方法。
  3. 前記コンピュータシステムを、前記コンピュータシステムが前記許容可能なエラーおよび前記許容不可能なエラーを修正または防止する前記第1の状態から、前記コンピュータシステムが前記許容可能なエラーを許容し、且つ前記許容不可能なエラーを修正または防止する前記第2の状態へ変換するステップが、前記コンピュータシステムにおいて許容可能なエラーを許容するように前記コンピュータシステムの設計操作を設定するステップを含む、請求項1に記載のコンピュータ実装される方法。
  4. 前記コンピュータシステムを、前記コンピュータシステムが前記許容可能なエラーおよび前記許容不可能なエラーを修正または防止する前記第1の状態から、前記コンピュータシステムが前記許容可能なエラーを許容し、且つ前記許容不可能なエラーを修正または防止する前記第2の状態へ変換するステップが、前記コンピュータシステムにおいて前記許容不可能なエラーを修正または防止するように前記コンピュータシステムの設計操作を設定するステップを含む、請求項3に記載のコンピュータ実装される方法。
  5. 前記コンピュータシステムを、前記コンピュータシステムが前記許容可能なエラーおよび前記許容不可能なエラーを修正または防止する前記第1の状態から、前記コンピュータシステムが前記許容可能なエラーを許容し、且つ前記許容不可能なエラーを修正または防止する前記第2の状態へ変換するステップが、前記コンピュータシステムにおいて許容可能なエラーを許容するように前記コンピュータシステムの製造操作を設定するステップを含む、請求項1に記載のコンピュータ実装される方法。
  6. 前記コンピュータシステムを、前記コンピュータシステムが前記許容可能なエラーおよび前記許容不可能なエラーを修正または防止する前記第1の状態から、前記コンピュータシステムが前記許容可能なエラーを許容し、且つ前記許容不可能なエラーを修正または防止する前記第2の状態へ変換するステップが、前記コンピュータシステムにおいて前記許容不可能なエラーを修正または防止するように前記コンピュータシステムの製造操作を設定するステップを含む、請求項5に記載のコンピュータ実装される方法。
  7. 前記コンピュータシステムを、前記コンピュータシステムが前記許容可能なエラーおよび前記許容不可能なエラーを修正または防止する前記第1の状態から、前記コンピュータシステムが前記許容可能なエラーを許容し、且つ前記許容不可能なエラーを修正または防止する前記第2の状態へ変換するステップが、前記コンピュータシステムにおいて許容可能なエラーを意図的に許容するように前記コンピュータシステムを実装するステップを含む、請求項1に記載のコンピュータ実装される方法。
  8. 前記コンピュータシステムを、前記コンピュータシステムが前記許容可能なエラーおよび前記許容不可能なエラーを修正または防止する前記第1の状態から、前記コンピュータシステムが前記許容可能なエラーを許容し、且つ前記許容不可能なエラーを修正または防止する前記第2の状態へ変換するステップが、前記コンピュータシステムにおいて前記許容不可能なエラーを修正または防止するように前記コンピュータシステムを実装するステップを含む、請求項7に記載のコンピュータ実装される方法。
  9. 前記許容可能なエラーを検出する命令を受け取るステップと、
    前記許容可能なエラーを修正または防止する命令を受け取るステップと、
    前記許容可能なエラーを検出するために前記コンピュータシステムを実行しながら前記許容可能なエラーを検出する命令を実行するステップと、
    前記許容可能なエラーの検出に応答して、前記許容可能なエラーを修正または防止するために前記コンピュータシステムを実行しながら前記許容可能なエラーを修正する命令を実行するステップと
    を含む、請求項1に記載のコンピュータ実装される方法。
  10. 前記コンピュータシステム上で実行されるコンピュータプログラムにおけるコンパイラ動作を変更するステップを更に含み、前記変更されたコンパイラ動作が、前記コンピュータシステムにおける前記許容可能なエラーの意図的な許容または前記許容不可能なエラーの修正または防止を前記コンピュータシステムが行なえるよう、前記コンピュータプログラムをコンパイルするように適合されている、請求項1に記載のコンピュータ実装される方法。
  11. コンピュータシステムにおいて意図的にエラーを許容して前記コンピュータシステムのエネルギー消費を最適化する方法を提供すべくプロセッサが実行するための命令を保存した計算機可読媒体であって、
    前記コンピュータシステムにおける所与のエラーの許容に伴う定量的費用であって、前記所与のエラーを許容することから生じる前記コンピュータシステムの精度の低下の尺度を含む定量的費用を決定し、
    前記コンピュータシステムにおける前記所与のエラーの許容に伴う定量的便益であって、前記所与のエラーを許容することから生じる前記コンピュータシステムの省エネルギーの尺度を含む定量的便益を決定し、
    前記定量的便益が前記定量的費用をある閾値分上回るか否かを判定するステップと、
    前記定量的便益が前記定量的費用を前記閾値分上回るとの判定に応答して、前記所与のエラーを許容可能なエラーとして識別し、
    前記定量的便益が前記定量的費用を前記閾値分上回らないとの判定に応答して、前記所与のエラーを許容不可能なエラーと識別し、
    前記コンピュータシステムにおいて前記許容可能なエラーを許容するための設計操作を選択して設定すると共に、前記コンピュータシステムの設計に関して前記許容不可能なエラーを修正または防止するように構成された命令を含むコンピュータ可読媒体。
  12. 前記コンピュータシステムの製造に関して、前記コンピュータシステムにおける前記許容可能なエラーの許容および前記コンピュータシステムにおける前記許容不可能なエラーの修正または防止に関する製造操作を選択するように構成された命令を更に含む、請求項11に記載の計算機可読媒体。
  13. 前記コンピュータシステムの実装に関して、前記コンピュータシステムにおける前記許容可能なエラーの許容および前記コンピュータシステムにおける前記許容不可能なエラーの修正または防止に関する実装操作を選択および設定するように構成された命令を更に含む、請求項11に記載の計算機可読媒体。
  14. 前記コンピュータシステムにおける所与のエラーの許容に伴う定量的費用を決定することが、前記コンピュータシステムの設計に従いシミュレーションを実施して精度の低下を推定することを含み、前記コンピュータシステムにおける前記所与のエラーの許容に伴う定量的便益を決定することが、前記コンピュータシステムの設計に従い前記シミュレーションを実施して省エネルギーを推定することを含む、請求項11に記載のコンピュータ可読媒体。
  15. 設計に従い前記コンピュータシステムに所与の組の入力を与え、
    前記コンピュータシステムに前記所与の組の入力を与えたことに伴う実際の精度低下および実際の省エネルギーを測定し、
    前記実際の精度低下および前記実際の省エネルギーを、推定された精度低下および推定された省エネルギーと比較することにより、設計に従う前記コンピュータシステムを検証するように構成された命令を更に含む、請求項11に記載の計算機可読媒体。
  16. コンピュータシステムにおいて意図的にエラーを許容して前記コンピュータシステムのエネルギー消費を最適化するように動作するシステムであって、
    前記コンピュータシステムにおける前記許容可能なエラーの許容を可能にする設計操作を選択および設定するように動作する設計モジュールと、
    前記コンピュータシステムにおける前記許容可能なエラーの許容を可能にする製造操作を選択および設定するように動作する製造モジュールと、
    前記コンピュータシステムにおける前記許容可能なエラーの許容を可能にする実装操作を選択および設定するように動作する実装モジュールと、
    前記コンピュータシステムがコンピュータプログラムを実行している間に、前記許容可能なエラーを修正または防止するように動作するエラー修正/防止モジュールと、
    前記許容可能なエラーを選択すると共に、前記設計モジュール、前記製造モジュール、前記実装モジュールの動作を分析して、前記コンピュータシステムの精度およびエネルギー消費を推定するように動作するシステム分析モジュールと、
    前記コンピュータシステム上で前記コンピュータプログラムを実際に実行する間、前記推定された精度および推定されたエネルギー消費を検証するように動作する性能検証モジュールと
    を含むシステム。
  17. 前記コンピュータシステムが前記コンピュータプログラムを実行する際に実行される演算、前記演算におけるエラー、および前記演算間のエラーの影響を決定するよう、前記コンピュータプログラムを分析する計算タスク分析を実行するように動作する計算タスク分析モジュールと、
    所与の入力の組に基づいて前記コンピュータシステムにより実行された際の前記コンピュータプログラムの動作を分析するデータ分析を実行するように動作するデータ分析モジュールと
    を更に含み、
    前記計算タスク分析および前記データ分析が、前記設計操作を選択および設定するように前記設計モジュールに提供され、前記製造操作を選択および構成するように前記製造モジュールに提供され、前記実装操作を選択および設定するように前記実装モジュールに提供される、請求項16に記載のシステム。
  18. 一群の処理から、前記許容可能なエラーを許容する前記コンピュータシステムに関してエネルギー消費を最適化する処理を選択するように動作する処理選択モジュールを更に含む、請求項16に記載のシステム。
  19. 前記コンピュータシステムでの実行のために前記コンピュータプログラムをコンパイルするように動作するコンパイルモジュールであって、更に前記コンピュータシステムにおいて前記許容可能なエラーの許容を可能にするよう、前記コンピュータプログラムをコンパイルするように動作するコンパイルモジュールを更に含む、請求項16に記載のシステム。
  20. 前記許容可能なエラーを修正または防止するように前記コンピュータシステムにより実行可能な命令であって、前記エラー修正/防止モジュールに提供されて前記許容可能なエラーを修正または防止する命令を提供するように動作する命令生成モジュールを更に含む、請求項16に記載のシステム。
JP2010024990A 2009-03-17 2010-02-08 コンピュータ実装される方法、計算機可読媒体、およびシステム Expired - Fee Related JP5473647B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/405,607 US8112649B2 (en) 2009-03-17 2009-03-17 Energy optimization through intentional errors
US12/405,607 2009-03-17

Publications (2)

Publication Number Publication Date
JP2010225140A true JP2010225140A (ja) 2010-10-07
JP5473647B2 JP5473647B2 (ja) 2014-04-16

Family

ID=42738666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010024990A Expired - Fee Related JP5473647B2 (ja) 2009-03-17 2010-02-08 コンピュータ実装される方法、計算機可読媒体、およびシステム

Country Status (2)

Country Link
US (1) US8112649B2 (ja)
JP (1) JP5473647B2 (ja)

Families Citing this family (134)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8661443B2 (en) * 2009-04-17 2014-02-25 Empire Technology Development, Llc Scheduling and/or organizing task execution for a target computing platform
US8255743B2 (en) * 2009-05-11 2012-08-28 Empire Technology Development Llc Error detection and/or correction through coordinated computations
US8909358B2 (en) * 2012-06-01 2014-12-09 Sap Ag Method and system for complex smart grid infrastructure assessment
US9999038B2 (en) 2013-05-31 2018-06-12 At&T Intellectual Property I, L.P. Remote distributed antenna system
US9525524B2 (en) 2013-05-31 2016-12-20 At&T Intellectual Property I, L.P. Remote distributed antenna system
US8897697B1 (en) 2013-11-06 2014-11-25 At&T Intellectual Property I, Lp Millimeter-wave surface-wave communications
US9768833B2 (en) 2014-09-15 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for sensing a condition in a transmission medium of electromagnetic waves
US10063280B2 (en) 2014-09-17 2018-08-28 At&T Intellectual Property I, L.P. Monitoring and mitigating conditions in a communication network
US9615269B2 (en) 2014-10-02 2017-04-04 At&T Intellectual Property I, L.P. Method and apparatus that provides fault tolerance in a communication network
US9685992B2 (en) 2014-10-03 2017-06-20 At&T Intellectual Property I, L.P. Circuit panel network and methods thereof
US9503189B2 (en) 2014-10-10 2016-11-22 At&T Intellectual Property I, L.P. Method and apparatus for arranging communication sessions in a communication system
US9973299B2 (en) 2014-10-14 2018-05-15 At&T Intellectual Property I, L.P. Method and apparatus for adjusting a mode of communication in a communication network
US9762289B2 (en) 2014-10-14 2017-09-12 At&T Intellectual Property I, L.P. Method and apparatus for transmitting or receiving signals in a transportation system
US9577306B2 (en) 2014-10-21 2017-02-21 At&T Intellectual Property I, L.P. Guided-wave transmission device and methods for use therewith
US9627768B2 (en) 2014-10-21 2017-04-18 At&T Intellectual Property I, L.P. Guided-wave transmission device with non-fundamental mode propagation and methods for use therewith
US9653770B2 (en) 2014-10-21 2017-05-16 At&T Intellectual Property I, L.P. Guided wave coupler, coupling module and methods for use therewith
US9780834B2 (en) 2014-10-21 2017-10-03 At&T Intellectual Property I, L.P. Method and apparatus for transmitting electromagnetic waves
US9312919B1 (en) 2014-10-21 2016-04-12 At&T Intellectual Property I, Lp Transmission device with impairment compensation and methods for use therewith
US9769020B2 (en) 2014-10-21 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for responding to events affecting communications in a communication network
US9742462B2 (en) 2014-12-04 2017-08-22 At&T Intellectual Property I, L.P. Transmission medium and communication interfaces and methods for use therewith
US9954287B2 (en) 2014-11-20 2018-04-24 At&T Intellectual Property I, L.P. Apparatus for converting wireless signals and electromagnetic waves and methods thereof
US10340573B2 (en) 2016-10-26 2019-07-02 At&T Intellectual Property I, L.P. Launcher with cylindrical coupling device and methods for use therewith
US9997819B2 (en) 2015-06-09 2018-06-12 At&T Intellectual Property I, L.P. Transmission medium and method for facilitating propagation of electromagnetic waves via a core
US10243784B2 (en) 2014-11-20 2019-03-26 At&T Intellectual Property I, L.P. System for generating topology information and methods thereof
US9544006B2 (en) 2014-11-20 2017-01-10 At&T Intellectual Property I, L.P. Transmission device with mode division multiplexing and methods for use therewith
US9800327B2 (en) 2014-11-20 2017-10-24 At&T Intellectual Property I, L.P. Apparatus for controlling operations of a communication device and methods thereof
US9461706B1 (en) 2015-07-31 2016-10-04 At&T Intellectual Property I, Lp Method and apparatus for exchanging communication signals
US10009067B2 (en) 2014-12-04 2018-06-26 At&T Intellectual Property I, L.P. Method and apparatus for configuring a communication interface
US9876570B2 (en) 2015-02-20 2018-01-23 At&T Intellectual Property I, Lp Guided-wave transmission device with non-fundamental mode propagation and methods for use therewith
US9749013B2 (en) 2015-03-17 2017-08-29 At&T Intellectual Property I, L.P. Method and apparatus for reducing attenuation of electromagnetic waves guided by a transmission medium
US9705561B2 (en) 2015-04-24 2017-07-11 At&T Intellectual Property I, L.P. Directional coupling device and methods for use therewith
US10224981B2 (en) 2015-04-24 2019-03-05 At&T Intellectual Property I, Lp Passive electrical coupling device and methods for use therewith
US9793954B2 (en) 2015-04-28 2017-10-17 At&T Intellectual Property I, L.P. Magnetic coupling device and methods for use therewith
US9948354B2 (en) 2015-04-28 2018-04-17 At&T Intellectual Property I, L.P. Magnetic coupling device with reflective plate and methods for use therewith
US9490869B1 (en) 2015-05-14 2016-11-08 At&T Intellectual Property I, L.P. Transmission medium having multiple cores and methods for use therewith
US9748626B2 (en) 2015-05-14 2017-08-29 At&T Intellectual Property I, L.P. Plurality of cables having different cross-sectional shapes which are bundled together to form a transmission medium
US9871282B2 (en) 2015-05-14 2018-01-16 At&T Intellectual Property I, L.P. At least one transmission medium having a dielectric surface that is covered at least in part by a second dielectric
US10650940B2 (en) 2015-05-15 2020-05-12 At&T Intellectual Property I, L.P. Transmission medium having a conductive material and methods for use therewith
US9917341B2 (en) 2015-05-27 2018-03-13 At&T Intellectual Property I, L.P. Apparatus and method for launching electromagnetic waves and for modifying radial dimensions of the propagating electromagnetic waves
US10812174B2 (en) 2015-06-03 2020-10-20 At&T Intellectual Property I, L.P. Client node device and methods for use therewith
US9866309B2 (en) 2015-06-03 2018-01-09 At&T Intellectual Property I, Lp Host node device and methods for use therewith
US9912381B2 (en) 2015-06-03 2018-03-06 At&T Intellectual Property I, Lp Network termination and methods for use therewith
US9913139B2 (en) 2015-06-09 2018-03-06 At&T Intellectual Property I, L.P. Signal fingerprinting for authentication of communicating devices
US9608692B2 (en) 2015-06-11 2017-03-28 At&T Intellectual Property I, L.P. Repeater and methods for use therewith
US9820146B2 (en) 2015-06-12 2017-11-14 At&T Intellectual Property I, L.P. Method and apparatus for authentication and identity management of communicating devices
US9667317B2 (en) 2015-06-15 2017-05-30 At&T Intellectual Property I, L.P. Method and apparatus for providing security using network traffic adjustments
US9509415B1 (en) 2015-06-25 2016-11-29 At&T Intellectual Property I, L.P. Methods and apparatus for inducing a fundamental wave mode on a transmission medium
US9640850B2 (en) 2015-06-25 2017-05-02 At&T Intellectual Property I, L.P. Methods and apparatus for inducing a non-fundamental wave mode on a transmission medium
US9865911B2 (en) 2015-06-25 2018-01-09 At&T Intellectual Property I, L.P. Waveguide system for slot radiating first electromagnetic waves that are combined into a non-fundamental wave mode second electromagnetic wave on a transmission medium
US9722318B2 (en) 2015-07-14 2017-08-01 At&T Intellectual Property I, L.P. Method and apparatus for coupling an antenna to a device
US10148016B2 (en) 2015-07-14 2018-12-04 At&T Intellectual Property I, L.P. Apparatus and methods for communicating utilizing an antenna array
US9847566B2 (en) 2015-07-14 2017-12-19 At&T Intellectual Property I, L.P. Method and apparatus for adjusting a field of a signal to mitigate interference
US10033108B2 (en) 2015-07-14 2018-07-24 At&T Intellectual Property I, L.P. Apparatus and methods for generating an electromagnetic wave having a wave mode that mitigates interference
US9853342B2 (en) 2015-07-14 2017-12-26 At&T Intellectual Property I, L.P. Dielectric transmission medium connector and methods for use therewith
US10320586B2 (en) 2015-07-14 2019-06-11 At&T Intellectual Property I, L.P. Apparatus and methods for generating non-interfering electromagnetic waves on an insulated transmission medium
US10170840B2 (en) 2015-07-14 2019-01-01 At&T Intellectual Property I, L.P. Apparatus and methods for sending or receiving electromagnetic signals
US10341142B2 (en) 2015-07-14 2019-07-02 At&T Intellectual Property I, L.P. Apparatus and methods for generating non-interfering electromagnetic waves on an uninsulated conductor
US10044409B2 (en) 2015-07-14 2018-08-07 At&T Intellectual Property I, L.P. Transmission medium and methods for use therewith
US10205655B2 (en) 2015-07-14 2019-02-12 At&T Intellectual Property I, L.P. Apparatus and methods for communicating utilizing an antenna array and multiple communication paths
US9628116B2 (en) 2015-07-14 2017-04-18 At&T Intellectual Property I, L.P. Apparatus and methods for transmitting wireless signals
US9882257B2 (en) 2015-07-14 2018-01-30 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
US9793951B2 (en) 2015-07-15 2017-10-17 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
US10090606B2 (en) 2015-07-15 2018-10-02 At&T Intellectual Property I, L.P. Antenna system with dielectric array and methods for use therewith
US9749053B2 (en) 2015-07-23 2017-08-29 At&T Intellectual Property I, L.P. Node device, repeater and methods for use therewith
US9912027B2 (en) 2015-07-23 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for exchanging communication signals
US9871283B2 (en) 2015-07-23 2018-01-16 At&T Intellectual Property I, Lp Transmission medium having a dielectric core comprised of plural members connected by a ball and socket configuration
US9948333B2 (en) 2015-07-23 2018-04-17 At&T Intellectual Property I, L.P. Method and apparatus for wireless communications to mitigate interference
US9735833B2 (en) 2015-07-31 2017-08-15 At&T Intellectual Property I, L.P. Method and apparatus for communications management in a neighborhood network
US9967173B2 (en) 2015-07-31 2018-05-08 At&T Intellectual Property I, L.P. Method and apparatus for authentication and identity management of communicating devices
US9904535B2 (en) 2015-09-14 2018-02-27 At&T Intellectual Property I, L.P. Method and apparatus for distributing software
US9769128B2 (en) 2015-09-28 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for encryption of communications over a network
US9729197B2 (en) 2015-10-01 2017-08-08 At&T Intellectual Property I, L.P. Method and apparatus for communicating network management traffic over a network
US9876264B2 (en) 2015-10-02 2018-01-23 At&T Intellectual Property I, Lp Communication system, guided wave switch and methods for use therewith
US10355367B2 (en) 2015-10-16 2019-07-16 At&T Intellectual Property I, L.P. Antenna structure for exchanging wireless signals
US9860075B1 (en) 2016-08-26 2018-01-02 At&T Intellectual Property I, L.P. Method and communication node for broadband distribution
US10291311B2 (en) 2016-09-09 2019-05-14 At&T Intellectual Property I, L.P. Method and apparatus for mitigating a fault in a distributed antenna system
US11032819B2 (en) 2016-09-15 2021-06-08 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having a control channel reference signal
US10135146B2 (en) 2016-10-18 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via circuits
US10135147B2 (en) 2016-10-18 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via an antenna
US10340600B2 (en) 2016-10-18 2019-07-02 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via plural waveguide systems
US9991580B2 (en) 2016-10-21 2018-06-05 At&T Intellectual Property I, L.P. Launcher and coupling system for guided wave mode cancellation
US10811767B2 (en) 2016-10-21 2020-10-20 At&T Intellectual Property I, L.P. System and dielectric antenna with convex dielectric radome
US9876605B1 (en) 2016-10-21 2018-01-23 At&T Intellectual Property I, L.P. Launcher and coupling system to support desired guided wave mode
US10374316B2 (en) 2016-10-21 2019-08-06 At&T Intellectual Property I, L.P. System and dielectric antenna with non-uniform dielectric
US10312567B2 (en) 2016-10-26 2019-06-04 At&T Intellectual Property I, L.P. Launcher with planar strip antenna and methods for use therewith
US10498044B2 (en) 2016-11-03 2019-12-03 At&T Intellectual Property I, L.P. Apparatus for configuring a surface of an antenna
US10225025B2 (en) 2016-11-03 2019-03-05 At&T Intellectual Property I, L.P. Method and apparatus for detecting a fault in a communication system
US10291334B2 (en) 2016-11-03 2019-05-14 At&T Intellectual Property I, L.P. System for detecting a fault in a communication system
US10224634B2 (en) 2016-11-03 2019-03-05 At&T Intellectual Property I, L.P. Methods and apparatus for adjusting an operational characteristic of an antenna
US10535928B2 (en) 2016-11-23 2020-01-14 At&T Intellectual Property I, L.P. Antenna system and methods for use therewith
US10340603B2 (en) 2016-11-23 2019-07-02 At&T Intellectual Property I, L.P. Antenna system having shielded structural configurations for assembly
US10178445B2 (en) 2016-11-23 2019-01-08 At&T Intellectual Property I, L.P. Methods, devices, and systems for load balancing between a plurality of waveguides
US10340601B2 (en) 2016-11-23 2019-07-02 At&T Intellectual Property I, L.P. Multi-antenna system and methods for use therewith
US10090594B2 (en) 2016-11-23 2018-10-02 At&T Intellectual Property I, L.P. Antenna system having structural configurations for assembly
US10305190B2 (en) 2016-12-01 2019-05-28 At&T Intellectual Property I, L.P. Reflecting dielectric antenna system and methods for use therewith
US10361489B2 (en) 2016-12-01 2019-07-23 At&T Intellectual Property I, L.P. Dielectric dish antenna system and methods for use therewith
US10819035B2 (en) 2016-12-06 2020-10-27 At&T Intellectual Property I, L.P. Launcher with helical antenna and methods for use therewith
US10326494B2 (en) 2016-12-06 2019-06-18 At&T Intellectual Property I, L.P. Apparatus for measurement de-embedding and methods for use therewith
US10727599B2 (en) 2016-12-06 2020-07-28 At&T Intellectual Property I, L.P. Launcher with slot antenna and methods for use therewith
US10694379B2 (en) 2016-12-06 2020-06-23 At&T Intellectual Property I, L.P. Waveguide system with device-based authentication and methods for use therewith
US10755542B2 (en) 2016-12-06 2020-08-25 At&T Intellectual Property I, L.P. Method and apparatus for surveillance via guided wave communication
US9927517B1 (en) 2016-12-06 2018-03-27 At&T Intellectual Property I, L.P. Apparatus and methods for sensing rainfall
US10382976B2 (en) 2016-12-06 2019-08-13 At&T Intellectual Property I, L.P. Method and apparatus for managing wireless communications based on communication paths and network device positions
US10637149B2 (en) 2016-12-06 2020-04-28 At&T Intellectual Property I, L.P. Injection molded dielectric antenna and methods for use therewith
US10020844B2 (en) 2016-12-06 2018-07-10 T&T Intellectual Property I, L.P. Method and apparatus for broadcast communication via guided waves
US10439675B2 (en) 2016-12-06 2019-10-08 At&T Intellectual Property I, L.P. Method and apparatus for repeating guided wave communication signals
US10135145B2 (en) 2016-12-06 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for generating an electromagnetic wave along a transmission medium
US10547348B2 (en) 2016-12-07 2020-01-28 At&T Intellectual Property I, L.P. Method and apparatus for switching transmission mediums in a communication system
US10139820B2 (en) 2016-12-07 2018-11-27 At&T Intellectual Property I, L.P. Method and apparatus for deploying equipment of a communication system
US10389029B2 (en) 2016-12-07 2019-08-20 At&T Intellectual Property I, L.P. Multi-feed dielectric antenna system with core selection and methods for use therewith
US10359749B2 (en) 2016-12-07 2019-07-23 At&T Intellectual Property I, L.P. Method and apparatus for utilities management via guided wave communication
US9893795B1 (en) 2016-12-07 2018-02-13 At&T Intellectual Property I, Lp Method and repeater for broadband distribution
US10243270B2 (en) 2016-12-07 2019-03-26 At&T Intellectual Property I, L.P. Beam adaptive multi-feed dielectric antenna system and methods for use therewith
US10446936B2 (en) 2016-12-07 2019-10-15 At&T Intellectual Property I, L.P. Multi-feed dielectric antenna system and methods for use therewith
US10027397B2 (en) 2016-12-07 2018-07-17 At&T Intellectual Property I, L.P. Distributed antenna system and methods for use therewith
US10168695B2 (en) 2016-12-07 2019-01-01 At&T Intellectual Property I, L.P. Method and apparatus for controlling an unmanned aircraft
US10601494B2 (en) 2016-12-08 2020-03-24 At&T Intellectual Property I, L.P. Dual-band communication device and method for use therewith
US10103422B2 (en) 2016-12-08 2018-10-16 At&T Intellectual Property I, L.P. Method and apparatus for mounting network devices
US10069535B2 (en) 2016-12-08 2018-09-04 At&T Intellectual Property I, L.P. Apparatus and methods for launching electromagnetic waves having a certain electric field structure
US10411356B2 (en) 2016-12-08 2019-09-10 At&T Intellectual Property I, L.P. Apparatus and methods for selectively targeting communication devices with an antenna array
US10530505B2 (en) 2016-12-08 2020-01-07 At&T Intellectual Property I, L.P. Apparatus and methods for launching electromagnetic waves along a transmission medium
US10777873B2 (en) 2016-12-08 2020-09-15 At&T Intellectual Property I, L.P. Method and apparatus for mounting network devices
US9998870B1 (en) 2016-12-08 2018-06-12 At&T Intellectual Property I, L.P. Method and apparatus for proximity sensing
US10389037B2 (en) 2016-12-08 2019-08-20 At&T Intellectual Property I, L.P. Apparatus and methods for selecting sections of an antenna array and use therewith
US10938108B2 (en) 2016-12-08 2021-03-02 At&T Intellectual Property I, L.P. Frequency selective multi-feed dielectric antenna system and methods for use therewith
US9911020B1 (en) 2016-12-08 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for tracking via a radio frequency identification device
US10916969B2 (en) 2016-12-08 2021-02-09 At&T Intellectual Property I, L.P. Method and apparatus for providing power using an inductive coupling
US10326689B2 (en) 2016-12-08 2019-06-18 At&T Intellectual Property I, L.P. Method and system for providing alternative communication paths
US10340983B2 (en) 2016-12-09 2019-07-02 At&T Intellectual Property I, L.P. Method and apparatus for surveying remote sites via guided wave communications
US9838896B1 (en) 2016-12-09 2017-12-05 At&T Intellectual Property I, L.P. Method and apparatus for assessing network coverage
US10264586B2 (en) 2016-12-09 2019-04-16 At&T Mobility Ii Llc Cloud-based packet controller and methods for use therewith
US9973940B1 (en) 2017-02-27 2018-05-15 At&T Intellectual Property I, L.P. Apparatus and methods for dynamic impedance matching of a guided wave launcher
US10298293B2 (en) 2017-03-13 2019-05-21 At&T Intellectual Property I, L.P. Apparatus of communication utilizing wireless network devices
CN112034412A (zh) * 2020-07-20 2020-12-04 中国电力科学研究院有限公司 一种基于智能隔离开关的智能电能表失准分析方法及系统

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04178837A (ja) * 1990-11-14 1992-06-25 Hitachi Ltd 字句エラー訂正方法
JPH08123587A (ja) * 1994-10-27 1996-05-17 Canon Inc 携帯型情報処理装置
JPH0963929A (ja) * 1995-08-25 1997-03-07 Nippon Telegr & Teleph Corp <Ntt> X線露光装置およびそれを用いたx線露光方法
JPH09198207A (ja) * 1996-01-19 1997-07-31 Canon Inc 印刷制御方法および印刷装置
JP2000121422A (ja) * 1998-10-13 2000-04-28 A & D Co Ltd 分銅を内蔵した電子秤
JP2000267754A (ja) * 1999-02-16 2000-09-29 Lucent Technol Inc 集積回路の電力消費を適応的に低減するための装置および方法
JP2001309124A (ja) * 2000-04-19 2001-11-02 Pfu Ltd 画像読み取り装置、その制御方法、その検査調整装置、その検査調整方法、およびその制御・検査調整方法の記録媒体
JP2003068864A (ja) * 2001-08-30 2003-03-07 Hitachi Ltd 半導体集積回路装置
JP2004216402A (ja) * 2003-01-10 2004-08-05 Sharp Corp レーザ加工装置
JP2004330321A (ja) * 2003-05-01 2004-11-25 Honda Electron Co Ltd ロボット位置制御装置及び方法並びにロボットシステム
JP2005327059A (ja) * 2004-05-14 2005-11-24 Hitachi Ltd 設計製造支援システム,方法及びプログラム
WO2007020679A1 (ja) * 2005-08-12 2007-02-22 Fujitsu Limited 寸法公差算出装置,寸法公差算出方法,及び寸法公差算出プログラムを記録したコンピュータ読取可能な記録媒体
JP2008011452A (ja) * 2006-06-30 2008-01-17 Matsushita Electric Ind Co Ltd 通信端末装置及び通信方法
JP2008227527A (ja) * 2008-04-24 2008-09-25 Sharp Corp Icチップ実装パッケージ、及びこれを備えた画像表示装置
JP2008243192A (ja) * 2007-02-26 2008-10-09 Kyocera Corp 公差決定方法、公差決定装置、プログラム、および記録媒体
JP2008544355A (ja) * 2005-06-13 2008-12-04 インテル・コーポレーション 誤りに基づく電源制御
JP2009021378A (ja) * 2007-07-11 2009-01-29 Nec Electronics Corp 半導体集積回路の生産方法、設計方法及び設計システム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6131166A (en) * 1998-03-13 2000-10-10 Sun Microsystems, Inc. System and method for cross-platform application level power management
US6209112B1 (en) * 1998-07-31 2001-03-27 Lucent Technologies Inc. Apparatus and method for reducing power consumption of an error-correcting decoder
TWI226617B (en) * 2001-06-05 2005-01-11 Via Tech Inc Operation method of C3 module of optical storage apparatus
US6990624B2 (en) * 2001-10-12 2006-01-24 Agere Systems Inc. High speed syndrome-based FEC encoder and decoder and system using same
US6838331B2 (en) * 2002-04-09 2005-01-04 Micron Technology, Inc. Method and system for dynamically operating memory in a power-saving error correction mode
CN101044776B (zh) * 2004-10-15 2010-12-15 诺基亚公司 减少无线通信终端中的功率消耗
US7689814B2 (en) * 2004-12-20 2010-03-30 Sony Computer Entertainment Inc. Methods and apparatus for disabling error countermeasures in a processing system
KR100606054B1 (ko) * 2005-01-04 2006-07-31 삼성전자주식회사 이동 통신 단말의 소모 전류 감소 장치 및 방법
US7581125B2 (en) * 2005-09-22 2009-08-25 Hewlett-Packard Development Company, L.P. Agent for managing power among electronic systems
US7617437B2 (en) * 2006-02-21 2009-11-10 Freescale Semiconductor, Inc. Error correction device and method thereof
US7840876B2 (en) * 2007-02-20 2010-11-23 Qimonda Ag Power savings for memory with error correction mode
US8670335B2 (en) * 2008-04-02 2014-03-11 Marvell World Trade Ltd. Reduced power transmission

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04178837A (ja) * 1990-11-14 1992-06-25 Hitachi Ltd 字句エラー訂正方法
JPH08123587A (ja) * 1994-10-27 1996-05-17 Canon Inc 携帯型情報処理装置
JPH0963929A (ja) * 1995-08-25 1997-03-07 Nippon Telegr & Teleph Corp <Ntt> X線露光装置およびそれを用いたx線露光方法
JPH09198207A (ja) * 1996-01-19 1997-07-31 Canon Inc 印刷制御方法および印刷装置
JP2000121422A (ja) * 1998-10-13 2000-04-28 A & D Co Ltd 分銅を内蔵した電子秤
JP2000267754A (ja) * 1999-02-16 2000-09-29 Lucent Technol Inc 集積回路の電力消費を適応的に低減するための装置および方法
JP2001309124A (ja) * 2000-04-19 2001-11-02 Pfu Ltd 画像読み取り装置、その制御方法、その検査調整装置、その検査調整方法、およびその制御・検査調整方法の記録媒体
JP2003068864A (ja) * 2001-08-30 2003-03-07 Hitachi Ltd 半導体集積回路装置
JP2004216402A (ja) * 2003-01-10 2004-08-05 Sharp Corp レーザ加工装置
JP2004330321A (ja) * 2003-05-01 2004-11-25 Honda Electron Co Ltd ロボット位置制御装置及び方法並びにロボットシステム
JP2005327059A (ja) * 2004-05-14 2005-11-24 Hitachi Ltd 設計製造支援システム,方法及びプログラム
JP2008544355A (ja) * 2005-06-13 2008-12-04 インテル・コーポレーション 誤りに基づく電源制御
WO2007020679A1 (ja) * 2005-08-12 2007-02-22 Fujitsu Limited 寸法公差算出装置,寸法公差算出方法,及び寸法公差算出プログラムを記録したコンピュータ読取可能な記録媒体
JP2008011452A (ja) * 2006-06-30 2008-01-17 Matsushita Electric Ind Co Ltd 通信端末装置及び通信方法
JP2008243192A (ja) * 2007-02-26 2008-10-09 Kyocera Corp 公差決定方法、公差決定装置、プログラム、および記録媒体
JP2009021378A (ja) * 2007-07-11 2009-01-29 Nec Electronics Corp 半導体集積回路の生産方法、設計方法及び設計システム
JP2008227527A (ja) * 2008-04-24 2008-09-25 Sharp Corp Icチップ実装パッケージ、及びこれを備えた画像表示装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ADRIAN SAMPSON, WERNER DIETL, EMILY FORTUNA, DANUSHEN GNANAPRAGASAM: "EnerJ: Approximate Data Types for Safe and General Low-Power Computation", PROCEEDINGS OF THE 2011 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PL, vol. Volume 46 Issue 6,June 2011, JPN7014000160, 30 June 2011 (2011-06-30), US, pages 164 - 174, ISSN: 0002727896 *
GANG QU, MIODRAG POTKONJAK: "Energy Minimization with Guaranteed Quality of Service", ISLPED '00: PROCEEDINGS OF THE 2000 INTERNATIONAL SYMPOSIUM ON LOW POWER ELECTRONICS AND DESIGN, JPN6014001933, 2000, US, pages 43 - 48, ISSN: 0002727899 *
KRISHNA V. PALEM: "Energy Aware Computing through Probabilistic Switching: A Study of Limits", IEEE TRANSACTIONS ON COMPUTERS, vol. Volume 54, Number 9, JPN6014001931, 25 July 2005 (2005-07-25), US, pages 1123 - 1137, ISSN: 0002727898 *
LAKSHIMI N.B. CHAKRAPANI, KRISHNA V. PALEM: "A Pronablistic Boolian Logic for Energy Efficient Circuit and System Design", 15TH ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE ASPDAC 2010, JPN7014000161, 18 January 2010 (2010-01-18), US, pages 628 - 635, ISSN: 0002727897 *

Also Published As

Publication number Publication date
US8112649B2 (en) 2012-02-07
US20100241892A1 (en) 2010-09-23
JP5473647B2 (ja) 2014-04-16

Similar Documents

Publication Publication Date Title
JP5473647B2 (ja) コンピュータ実装される方法、計算機可読媒体、およびシステム
US8775988B2 (en) Decentralized dynamically scheduled parallel static timing analysis
US8689158B2 (en) System and method for performing static timing analysis in the presence of correlations between asserted arrival times
Su et al. Performance optimization using variable-latency design style
US20150178418A1 (en) Model-based retiming with functional equivalence constraints
US8990739B2 (en) Model-based retiming with functional equivalence constraints
Held et al. Clock scheduling and clocktree construction for high performance ASICs
Castro-Godínez et al. Compiler-driven error analysis for designing approximate accelerators
JP2020507139A (ja) 集積回路の経路遅延変動を利用する動的周波数増大
Hung et al. Transparent insertion of latency-oblivious logic onto FPGAs
US20110140745A1 (en) Method for Modeling Variation in a Feedback Loop of a Phase-Locked Loop
US8984343B2 (en) Error propagation in a system model
Moonen et al. Practical and accurate throughput analysis with the cyclo static dataflow model
Kahng et al. A new methodology for reduced cost of resilience
Orsila Optimizing algorithms for task graph mapping on multiprocessor system on chip
Weißbrich et al. FLINT+: A runtime-configurable emulation-based stochastic timing analysis framework
Ahmadi et al. Symbolic noise analysis approach to computational hardware optimization
Bhattacharyya et al. Resynchronization for multiprocessor DSP systems
Kumar Statistical guarantees of performance for RTL designs
Cong et al. Better-than-worst-case design: Progress and opportunities
Chakraborty et al. Efficient algorithms for approximate time separation of events
US10747925B1 (en) Variable accuracy incremental timing analysis
Kumar et al. Early prediction of NBTI effects using RTL source code analysis
US20240046015A1 (en) Latency balancing of paths in multi-processor computing architecture designs for deadlock avoidance
Wognsen et al. Energy-aware scheduling of FIR filter structures using a timed automata model

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120402

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130329

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140204

R150 Certificate of patent or registration of utility model

Ref document number: 5473647

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees