タグ

2018年7月16日のブックマーク (5件)

  • エラー忘却型コンピューティング - Wikipedia

    エラー忘却型コンピューティング(エラーぼうきゃくがたコンピューティング、英: Failure-oblivious computing)は、計算機処理において、フォルトトレラントシステムの構成に向けた技法の一つ。2004年にMITのMartin Rinardらが提唱した[1]。 一般的な処理系では、処理途中でメモリエラーが発見された場合はアプリケーションにエラーを通知するか、または該当プログラムを異常終了させる。エラー忘却型コンピューティングでは、メモリ上でエラーが生じた場合は原則としてこれを隠蔽し、ロギングのみ行って応用プログラムに通知しない。 メモリの読み出しエラーが生じた場合は、適当な値を生成して応用プログラムに返却する。 メモリの書込みエラーが生じた場合は、これを無視する。 なお代償としてCPUに掛かる負荷は高くなる。これはアドレスの有効性を動的に検査する処理を挿入することになるため

  • LLVMをちょっと調べてみた - wagavulin's blog

    最近LLVMについて調べてみたのでまとめてみる。自分はコンパイラの専門家でも何でもないので間違った内容があるかもしれない。 GCCとコンパイラの仕組み LLVMの前にまずはコンパイラ一般の話。コンパイラはまずソースコードを解析して内部表現にする。これはたいていツリー構造となる。このツリー構造のデータに対して文法チェックを行ったり最適化処理を行ったりした後に、オブジェクトファイルを生成する。 コンパイラの内部表現だが、実際には複数の種類の内部表現を使っていることが多いらしく、GCCもそのようになっている([1]の図3)。これによるとまずはその言語固有のツリーにするようだ(C trees, C++ treesなど)。これをGENERICという形式にする。GENERICは名前のとおり言語に依存しない一般的な形式で、どの言語の場合も一度GENERICにする。 GENERICはその後さらにGIMPL

    LLVMをちょっと調べてみた - wagavulin's blog
  • LLVMを始めよう! 〜 LLVM IRの基礎はclangが教えてくれた・Brainf**kコンパイラを作ってみよう 〜 - プログラムモグモグ

    コンパイラを作ってみたいと思っていても、アセンブリ言語はよくわからない。 パーサーみたいなコードは書いたことがあるけれど、コード生成の処理はさっぱりだ。 実行ファイルをバイナリエディターで見るとかなにそれ怖い。 そんな私なのですが、LLVMに興味を持ち始めています。 SwiftRust、あるいはEmscriptenなど、近年注目されている言語やコンパイラ技術の中枢にはLLVMがあります。 アセンブリはよく分からなくてもLLVMを使いこなせるようになれば、マルチプラットフォームで実行ファイルを生成できる言語処理系を作るのではないか。 コンパイラ作ってみたいな、LLVMを使ってみようかなと思っている今日このごろです。 ところが、いざLLVMを勉強しようと思ってもどこから始めればいいかよく分かりませんでした。 マニュアルは巨大で読む気が起きないし、リファレンスを見てもさっぱりです。 雰囲気はわ

    LLVMを始めよう! 〜 LLVM IRの基礎はclangが教えてくれた・Brainf**kコンパイラを作ってみよう 〜 - プログラムモグモグ
  • FPGAの応用例10選 | DevelopersIO

    はじめに 先日開かれたre:InventではEC2の新しいインスタンスタイプとしてF1インスタンスが発表されました。 このインスタンスタイプは計算のためのリソースとしてFPGA(Field Programmable gate arrays)が用いれ、特殊な用途の計算に特化した計算回路をコードベースで実現できるようになります。 2016年12月13日現在、EC2 F1インスタンスタイプはプレビュー中ですが、FPGAAWS上のマネージドなサービス上で提供され、開発に必要なハードの設定や物理的な機器の調達コストなどの参入障壁がほぼなくなった事によって、今後ソフトウェアエンジニアがプログラマブルなハードウェアの回路設計に着手しやすい状況が発生すると思われます。 この記事ではソフトウェアエンジニアFPGAへの参入を検討するにあたってモチベーションとなるよう、具体的な応用例を提示することを目的にし

    FPGAの応用例10選 | DevelopersIO
  • Motohaunt Key Tags

    ikajigoku
    ikajigoku 2018/07/16
    よい