タグ

CPUに関するhigedのブックマーク (22)

  • EPYCマシンの検証(2) - NUMAノードをまたぐメモリアクセス速度 - Cybozu Inside Out | サイボウズエンジニアのブログ

    はじめに 技術顧問のsatです。前回に引き続き、EPYCマシンの検証についての話をします。手元のEPYCマシン(Super Micro AS-1023US-TR4)はNUMAアーキテクチャ(後述)を採用してます。今回はこのマシンにおけるNUMAノードをまたいだメモリアクセスに関するデータを採取しましたので、その結果をお伝えします。 NUMAについて知っているかた向けの結論 2CPUパッケージから成るEPYCマシンにおいては、CPUパッケージごとに4つのノード、合計8つのノードがある 同じCPUパッケージ上のリモートノード上のメモリへのアクセス速度はローカルノード上のメモリへのアクセス速度に比べて1.7倍程度遅い 別のCPUパッケージ上のリモートノード上のメモリへのアクセス速度はローカルノード上のメモリへのアクセス速度に比べて3.3倍程度遅い (記事では省略したが)"numactl --in

    EPYCマシンの検証(2) - NUMAノードをまたぐメモリアクセス速度 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • NUMAについて - so tired

    NUMAについてしょっちゅう調べては忘れているのでまとめておくことにした。 全般的にFrank Denneman氏のブログを大変参考にさせてもらった。 NUMAとは NUMA (Non-Uniform Memory Access) は、共有メモリ型マルチプロセッサコンピュータシステムのアーキテクチャのひとつ。 プロセッサとメモリの対 (これをノードと呼ぶ) が複数存在し、それらをインターコネクトで接続したものがNUMAと定義される。 共有メモリ型であるので各プロセッサが全ノードのメモリを利用可能である必要があるが、あるプロセッサから見て同一ノードのメモリをローカルメモリ、他ノードのメモリをリモートメモリと呼ぶ。 ローカルメモリへのアクセスは低レイテンシ、高パフォーマンスであり、リモートメモリへのアクセスは高レイテンシ、低パフォーマンスとなる。 ほとんどのアプリケーションでメモリアクセスはあ

    NUMAについて - so tired
  • 2ヶ月間で低レイヤを学ぶためにやったこと

    こんにちは。来週末久しぶりに100kmマラソンを走ります。y-meguro です。 この記事は「#しがないラジオ Advent Calendar 2019」6日目の記事です。 ポッドキャスト「[しがないラジオ](https://shiganai.org/)」のアドベントカレンダーです! ## どんなブログエントリを書けばいい? - 下記のテーマ例を参考に、フリーテーマでご自由にどうぞ! - しがないラジオについて - 転職/転職活動した話 - 楽しく仕事をするためのアドバイス - IT業界論、SIer論 - 2019年に頑張ったこと ## 過去のAdvent Calendar [#しがないラジオ Advent Calendar 2018 - Adventar](https://adventar.org/calendars/2927) [しがないラジオ Advent Calendar 201

    2ヶ月間で低レイヤを学ぶためにやったこと
  • CPUの作り方 - 富士通

    シリコン(ケイ素)の大きな単結晶(純度99.999999999%)を、ダイヤモンドブレードでスライスして、薄いシリコンウェーハを作ります。

  • 【後藤弘茂のWeekly海外ニュース】 海外で急激に盛り上がる新CPU命令アーキテクチャ「RISC-V」

    【後藤弘茂のWeekly海外ニュース】 海外で急激に盛り上がる新CPU命令アーキテクチャ「RISC-V」
  • プロセスのリソース制限をさせる『rcon』 - Qiita

    概要 どうも。はにです。あまり専門ではないのでわかりませんが、双極性障害なんじゃないかと思いこむこの頃です。 さて、私はあるサービスを運用しています。ところが、現在はサービスのプロセスが仮想マシン上でぐちゃぐちゃして稼動しているのでいろいろな意味でよくないです。だから整理する方法を考えています。 んで、見つけたのが『rcon』。 プロセスのi/oやCPUを制限できるらしいです。メンテされておらず、動くか怪しいので検証してみます。 環境 Ubuntu 16.04 導入 apt install rake bison flex libpam-dev git clone https://github.com/matsumotory/rcon cd rcon #ビルド rake

    プロセスのリソース制限をさせる『rcon』 - Qiita
  • 東大のCPU実験で自作コア上の自作OS上で自作シェルを動かした話 - 旅する情報系大学院生

    東大の情報科学科では3年の秋学期にCPU実験という、自分たちでCPU、コンパイラ、シミュレーターを作ってレイトレーシングを動かすことが単位要件の名物実験があります。僕らの班では12月初旬に単位要件を満たすCPUは出来ていたので、2/20にあった成果報告会までの間にIwashi班という自作CPU上でlinuxを動かすことを目標とした余興班を作ってこのエントリのタイトルにあるような結果に終わったのでその報告をしたいと思います。 コンテキストスイッチしている画像: 目次 目次 対象とする読者 自己紹介 できたこととできなかったこと 技術的な詳細 ISA よかったところ 悪かったところ 結論 ステート管理 Floating point UART 自作OS/Shellの仕様 動機 やること 実装方針 増えるレジスタ 増える命令 MMUの挙動 タイマ割り込みの挙動 iretの挙動 Kernelの実装

    東大のCPU実験で自作コア上の自作OS上で自作シェルを動かした話 - 旅する情報系大学院生
  • Linuxカーネルを読む前にやったこと - komukomo’s diary

    「カーネルのコードがよくわからない。Linuxカーネルに関するを読んでもいまいちしっくりこない。」 から、「読めば理解できそう..!」 になるまでにやったことのまとめ。 はじめに 低レイヤの話がわかるようになりたかった。 カーネルの中身が知りたかった。 とりあえずを読もうと思い詳解 Linuxカーネル 第3版を読んだが知識がなさ過ぎてよくわからない。 知らない用語だらけで都度調べればなんとなくはわかる気もするが、いまいち頭に入ってこない。 今思うとそもそもCPUの話なのかカーネルの話なのかさえよくわからない状態で読んでいたような気がする。 そんな状態を克服するためにやったことをまとめておく。 学習前 学習前の自分の知識はこんな感じだった。 知っていた データ構造とアルゴリズム 論理回路 C言語(研究室で数値計算に使える程度。構造体やポインタくらいならわかる。) よく知らなかった OSが

    Linuxカーネルを読む前にやったこと - komukomo’s diary
  • 1バイトが8bitに定まったのは2008年 - Qiita

    はじめに 【2022/02/03追記】 Twitterで、1バイトは何ビットかというのが話題に上り、この記事も急に参照されるようになりました。 話題になることで識者の方々から私自身も知らない知識を得ることが出来ました。 最終的には、ITmedia NEWSの大原雄介さんの下記の素晴らしい記事が産まれることになったので良かったです。 1バイトの定義 なぜ、1バイトは8bitになったのだろうという疑問から調べはじめました。 昔は4bitCPUがあったわけだし、その時も1バイトが8bitなのか4bitではないのか?という疑問がわいたわけです。 結論から書くと当時4bitCPUの場合、1バイトは4bitだったわけです。 とはいえ、CPUの値がそのまま1バイトになるわけではないです。 1bit CPU はできるのか?によると 長い歴史の中で、CPUのbit長はALU長でもなくアドレスバス長でもな

    1バイトが8bitに定まったのは2008年 - Qiita
  • RedisサーバのCPU負荷対策パターン - ゆううきブログ

    Redisは多彩なデータ構造をもつ1インメモリDBであり、昨今のWebアプリケーションのデータストアの一つとして、広く利用されている。 しかし、一方で、性能改善のための手法を体系的にまとめた資料が見当たらないと感じていた。 実際、最初にCPU負荷が問題になったときにどうしたものかと悩み、調査と試行錯誤を繰り返した。 そこで、この記事では、自分の経験を基に、RedisサーバのCPU負荷対策を「CPU負荷削減」「スケールアップ」「スケールアウト」に分類し、パターンとしてまとめる。 背景 RedisのCPU負荷対策パターン CPU負荷削減 multiコマンド Redisパイプライニング Luaスクリプティング Redisモジュール(夢) スケールアップ スケールアウト 参照用スレーブ 垂直分割 水平分割 Redis Clusterによる水平分割 その他 スライド資料 あとがき 参考資料 背景 R

    RedisサーバのCPU負荷対策パターン - ゆううきブログ
  • NUMAアーキテクチャとswap insanity - $shibayu36->blog;

    MySQLのswap insanity問題という言葉を聞いて、なんのことかさっぱり分からなかったので、調べてみました。CPUとかLinuxとかMySQLとかちゃんと理解しているわけではないので、間違っていることを書くかもしれません。 NUMAアーキテクチャ http://www.nces.is.nagoya-u.ac.jp/NEXCESS/blog/index.php?itemid=211あたりが分かりやすい。 UMAアーキテクチャがメモリを全てのCPUの共有資源とみなしてグローバルにアクセスするのに対して、NUMAアーキテクチャは以下のようにメモリを管理する。 ノードという単位でメモリを分割し、各CPUが割り当てられたメモリをローカルメモリとして管理するようになる numactlとかlibnumaとかで構成は変えれる? 他のCPUが管理しているメモリにはそのCPU経由でアクセス可能 de

    NUMAアーキテクチャとswap insanity - $shibayu36->blog;
  • [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

    [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading To: debian-user@lists.debian.org, debian-devel@lists.debian.org Subject: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading From: Henrique de Moraes Holschuh <hmh@debian.org> Date: Sun, 25 Jun 2017 09:19:36 -0300 Message-id: <[🔎] 20170625121936.GA7714@khazad-dum.debian.net> This warning advisory is relevant for

  • CPU Utilization is Wrong

    Recent posts: 28 Apr 2023 » eBPF Observability Tools Are Not Security Tools 01 Mar 2023 » USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon 17 Feb 2023 » USENIX SREcon APAC 2023: CFP 02 May 2022 » Brendan@Intel.com 15 Apr 2022 » Netflix End of Series 1 09 Apr 2022 » TensorFlow Library Performance 19 Mar 2022 » Why Don't You Use ... 26 Sep 2021 » The Speed of Time 06 Sep 2021 »

  • LinuxのCPU使用率の%stealについて - Qiita

    はじめに Linux で採取できるCPU使用量(率)の情報として、%user や %sys 等に加えて %steal という量がある。これが追加されたのは、仮想化が広く使われはじめた10年くらい前だろうか。筆者は Xen を調べていて気づいたのだが、もっと前にs390のために追加されたのかもしれない。当時、ESXの場合も含めて調べていたのだが、最近、KVMの場合にどういう実装になっているのか、ふと気になって軽く調べてみたのでメモ。 CPU使用率の計算 まず最初に、sar や vmstat や mpstat 等、さまざまなツールでCPU使用率を取得することができるわけだが、どのような情報を元に、どのような計算を行って算出しているのか? まず、kernel内ではboot以後の各種実行モードのCPU時間を分類して積算値として保持している。user モード、特権モード、割り込み処理に使った時間..

    LinuxのCPU使用率の%stealについて - Qiita
  • C91 Intel Xeon と Core i7 の違いについて

  • ハイパースレッディング・テクノロジー - Wikipedia

    この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2017年12月) 出典は脚注などを用いて記述と関連付けてください。(2020年10月) 脚注による出典や参考文献の参照が不十分です。脚注を追加してください。(2020年10月) 出典検索?: "ハイパースレッディング・テクノロジー" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL ハイパースレッディング・テクノロジー (英: Hyper-Threading Technology、HTT) とは、インテルのハードウェアマルチスレッディング実装に対する同社の商標である。当初は、NetBurstマイクロアーキテクチャにおける同時マルチスレッディング

    higed
    higed 2016/12/01
  • kSarでsysstat(sar)をグラフ化したのはいいのだが、読めないので解読してみる - 基本へ帰ろう

    kSar http://ksar.atomique.net/index.html kSarのグラフ化について kSarによるsarのグラフ化について | Miracle Linux Support KSarでsysstatのグラフ化 - shibainu55日記 HugeDomains.com - Shop for over 300,000 Premium Domains グラフ化については、上記がわかりやすいかと思います。 sarのcronは以下のように設定しています。 [root@web ~]# cat /etc/cron.d/sysstat # run system activity accounting tool every 10 minutes */10 * * * * root /usr/lib/sa/sa1 1 1 # generate a daily summary of

    kSarでsysstat(sar)をグラフ化したのはいいのだが、読めないので解読してみる - 基本へ帰ろう
  • マルチコア時代のロードアベレージの見方 - naoyaのはてなダイアリー

    ちょっと煽り気味のタイトルですが、CPU がマルチコアになり 2個、4個と増えていく中 Linux の負荷の指針になるロードアベレージをどう読むべきか、という話です。気になったところを少し調べたのでそのまとめを。 http://d.hatena.ne.jp/naoya/20070222/1172116665 でも書いたとおり、Linux のロードアベレージは「ロードアベレージは過去1分、5分、15分の間の実行待ちプロセス数の平均数 = 実行したくても他のプロセスが実行中で実行できないプロセスが平均で何個ぐらい存在してるか」を示す値です。ボトルネックが CPU、メモリ、ディスク等々どこにあるかは関係なく、仕事の実行までにどれぐらい待たされているかを示す値なので、システムのスループットを計測する指標の入り口になる値です。 このロードアベレージですが、実装を見るとランキュー(待ち行列)に溜まった

    マルチコア時代のロードアベレージの見方 - naoyaのはてなダイアリー
  • Direct Memory Access - Wikipedia

    AMD DirectGMA はDMAの一形態である。 Direct Memory Access(DMA)とは、プログラムされた機械語の命令群の実行によってアキュムレータなどを介する方法によらず、メモリとメモリまたはメモリとI/Oデバイスの間で直接データを転送することである。 専用回路のことを DMAC(DMA Controller)と言う。 概要[編集] 現代でのDMAの重要性は、つまるところCPUの転送速度の枷を外したところにある。DMAの技術が発生する以前は、CPUはデータの転送時間のあいだ待たなくてはならず、その間は他の作業をこなすことはできなかった。外部入出力(I/O)の転送速度はRAMよりも遅かったことがこの原因である。DMAがあれば、CPUは転送時間を有意にタスクへと割くことができる。この利点は組み込み向けプロセッサにおいても同様に効果があった。ただし、転送バスは一部使用中とな

    Direct Memory Access - Wikipedia
    higed
    higed 2016/10/10
  • Linuxの性能関連のまとめ · GitHub

    command_tips.md Linuxの性能関連のまとめ 性能測定コマンド sar :システム稼動状況 mpstat:CPU稼働状況 vmstat:仮想メモリ稼働状況 free :メモリ情報 iostat:ハードディスク,CPU使用状況 ps :プロセス情報 top :プロセス情報 目安 CPU CPU使用率:90%以上 CPU待ちプロセス数:2より大きい(1CPUあたり) メモリ メモリ使用量:ページングの発生回数 ディスク ディスク使用率:80%以上 ネットワーク ネットワーク使用率:80%以上 パケット衝突回数:送信パケットの10%以上 sarコマンド # sar [オプション] [-o ファイル名] 取得間隔 取得回数 -u:CPUCPU使用状況 -q:CPU:プロセスキュー、システム稼動負荷 -r:メモリ:メモリ,スワップ領域使用状況 -R:メモリ:メモリ動作状況 -B:メ

    Linuxの性能関連のまとめ · GitHub