タグ

ブックマーク / blog.yuuk.io (76)

  • “LLM for SRE“の世界探索 - ゆううきブログ

    ChatGPTが登場した当初、対話や要約、翻訳、コード生成などの典型的な言語タスクができても、SREやAIOpsの研究開発にはあまり関係ないのではないかと正直思っていた。AIOpsでは典型的にはいわゆるObservabilityデータ(メトリクス、ログ、トレースなど)が入力となるため、自然言語ではなく数値のデータを解析することが求められる。自然言語のタスクを研究対象としていなかったため、AIOpsとChatGPTに強い関係性は見いだせなかった*1。 しかし、自分で大規模言語モデル(Large Language Model: LLM)を日常的に使用したり、表題にあるようにSREのためのLLM(LLM for SRE, LLM4SRE)に関する論文を読むうちに、LLMのテキスト生成器としての性質よりもその優れた推論機械としての性質に注目するようになった。特にSREの障害診断は、人間の専門家が推

    “LLM for SRE“の世界探索 - ゆううきブログ
    y_uuki
    y_uuki 2024/03/21
    久々の大作ブログです。SRE x LLMに関する多数の論文を包括的に調査しました。おそらく世界初の内容です。
  • Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ

    eBPF(extended Berkley Packet Filter)という用語を著者が初めてみかけたのは、2015年ごろだった。最初は、eBPFをその字面のとおり、パケットキャプチャやパケットフィルタリングを担うだけの、Linuxの新しいサブシステムであろうと認識していた。しかし、実際にはそうではなかった。 システム性能の分析のための方法論をまとめた書籍Systems Performance 1 の著者で有名なBrendan Greggが、Linuxのネットワークサブシステムとは特に関係ない文脈で、古典的なシステム性能計測ツールでは計測できないことを計測するツールを作っていた。その計測ツールがeBPFという技術によって実装されていることを知ったときに、eBPFに興味をもったのだった。また、eBPFは、システム性能を調べる用途以外にXDP(eXpress Data Path)と呼ばれるプ

    Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ
    y_uuki
    y_uuki 2021/12/28
    書いた。ひさびさの大作です。
  • 2020年の研究振り返り - ゆううきブログ

    今年は、エンジニアから研究者になって2年目になる。 社会情勢の変化を除いては、さくらインターネット研究所での研究活動の一貫として、京大情報学研究科の博士課程に進学したことが最も大きな変化だった。 とはいえ、博士課程ではなにか特別新しいことをやり始めたということはない。 研究内容はそのままに、自分にとっての「普遍的学術的貢献」とは何かを考えるプロセスとして博士課程を位置づけている。 自分にとっての研究活動や博士課程の位置づけについては、キャリアについて寄稿する機会をいただいたので、次の記事にまとめてある。 今年は、研究報告、国際会議、ジャーナル(論文誌)への採録と、学術研究の一連のプロセスをこなせるようになった。 国内では、山下記念研究賞やシンポジウムで連続して賞をいただくようになり、対外的な評価も少しずつついてきた。 論文誌の査読も依頼されるようになってきた。 投稿論文をリジェクトされたり

    2020年の研究振り返り - ゆううきブログ
    y_uuki
    y_uuki 2020/12/31
    書いた。
  • Redis Clusterとgo-redisの深刻な性能劣化を解決した話 - ゆううきブログ

    さくらインターネット Advent Calendar 2020の23日目です。 現時点では最新版のRedis 6.0のRedis Clusterに対して、Go言語の代表的なRedisクライアントライブラリであるgo-redisからアクセスしたときに、性能が深刻なレベルで劣化しました。 この記事では、ミドルウェアを利用したGo言語アプリケーションの性能劣化に関する問題調査の事例として、この性能劣化を修正するまでの話をまとめました。 go-redisへのPull Requestはhttps://github.com/go-redis/redis/pull/1355です。 はじめに 半年ほど前の論文の締め切りに追われていたある日、評価実験のためにRedisを使った時系列データベースのプロトタイプを開発していました。 ベンチマークツールでプロトタイプの性能を測定したところ、単一インスタンスのRed

    Redis Clusterとgo-redisの深刻な性能劣化を解決した話 - ゆううきブログ
    y_uuki
    y_uuki 2020/12/23
    書いた。
  • マイクロサービスにおける性能異常の迅速な診断に向いた時系列データの次元削減手法 - ゆううきブログ

    著者 坪内 佑樹(*1), 鶴田 博文(*1), 古川 雅大(*2) 所属 (*1) さくらインターネット株式会社 さくらインターネット研究所、(*2) 株式会社はてな 研究会 第7回Webシステムアーキテクチャ研究会 2010年代のクラウド技術であるコンテナオーケストレーション、サーバーレス、マイクロサービス、さらにはエッジコンピューティングなどの普及により、分散システムとしての複雑度が高まっている。このまま複雑度が高まっていくと、人手によるルールベースの運用にいずれは限界が訪れるのではないかと考えている。そこで、最近は、このようなクラウドを中心とするSRE分野の課題に対して、機械学習やその他の数理的アプローチを適用するアプローチを模索している。特に、SREの中でも、システムに発生する異常への対応については、現場のエンジニアの経験に基づき直感に大きく依存している。 異常への対応を構成する

    マイクロサービスにおける性能異常の迅速な診断に向いた時系列データの次元削減手法 - ゆううきブログ
    y_uuki
    y_uuki 2020/11/16
    最新の研究の話を書いた。
  • クラウド系の国際会議IEEE CLOUD 2020参加録 - ゆううきブログ

    2020年の10月18日から24日までの5日間にわたって、国際会議IEEE World Congress on SERVICES 2020(IEEE SERVICES 2020)がオンライン形式で開催された。 IEEE SERVICESは、IEEE Computer Societyにより2004年から開催されている「サービスコンピューティング」全般に関連するトピックを扱う複数の国際会議が共催されるイベントとなっている。 来は、7月に北京開催されるはずだったが、COVID-19の感染拡大の影響により、10月に延期されたのちにオンライン開催される運びとなった。 今回開催されたのは次の5つの国際会議、CLOUD/ICWS/SCC/SMDS/EDGEである。 このうちCLOUD 2020を中心とした参加報告を次のスライドにまとめている。 各発表を聴講したところ、多くの発表に共通してみられた特徴と

    クラウド系の国際会議IEEE CLOUD 2020参加録 - ゆううきブログ
    y_uuki
    y_uuki 2020/10/29
    機械学習をクラウドのシステムの運用に適用するアプローチが盛りだくさんだった。
  • さくらインターネット研究所での1年 - ゆううきブログ

    さくらインターネット株式会社に昨年の2月に入社してから1年(と2ヶ月)が経過した。さくらインターネット研究所での研究員としての新しい働き方にも慣れてきた。論文や口頭発表などの締切も落ち着いてきたので、ここまでの1年を振り返ってみる。 やりたいことに集中できる 広範なインフラ技術 自身の研究テーマ 日々の活動 むすび やりたいことに集中できる さくらインターネット研究所では、自分を取り戻してやりたいことに集中できる自由な研究環境がある。 好きでやっていたはずの開発や運用がだんだん会社や他人のためだけのの仕事になってきて疲れてしまった人は、自分を取り戻して技術に向き合っていける恵まれた環境として、さくらインターネット研究所おすすめです。— ゆううき (@yuuk1t) 2019年4月3日 さくらインターネット研究所では、テーマは与えられることはなく、自分がおもしろいと思うテーマを設定する。成果

    さくらインターネット研究所での1年 - ゆううきブログ
    y_uuki
    y_uuki 2020/04/02
    入社して1年経ったので振り返りました
  • SRE NEXT基調講演を終えて - ゆううきブログ

    1月25日に開催されたSRE NEXT 2020 IN TOKYOにて、「分散アプリケーションの信頼性観測技術に関する研究」と題して、基調講演をさせていただきました。 これまで一環してWebオペレーション・SREに取り組んできて、今ではSRE Researcherと名乗っている身からすると、国内初のSREのカンファレンスで基調講演にお声がけいただいたことは大変名誉なことだと思っています。 基調講演について カンファレンスの基調講演は実ははじめての経験で、どのような発表をするかについては、いくらか逡巡することになりました。 SRE NEXTのオーガナイザーをされている@katsuhisa__さんからは、現在僕が取り組んでいる研究内容や、その研究背景として考えていることを講演してほしいという期待をいただきました。 同時に、カンファレンスのタイトルに含まれる「NEXT」には、参加者の皆様とSRE

    SRE NEXT基調講演を終えて - ゆううきブログ
    y_uuki
    y_uuki 2020/01/27
    書いた。
  • 2019年振り返り - エンジニアから研究者へ - ゆううきブログ

    例年のように、昨年の活動を振り返る。 昨年は、それ以前の5年と異なり、働き方もエンジニアから研究者へ転向したことにより、自分を取り巻く環境は大きく変化した。 とはいえ、1年の研究活動を通じて、エンジニア時代と比較し、働き方は変わっても、自分が目指すものはあまり変わらないことも再確認した。 エンジニアであっても、研究者であっても、SREの分野において、相変わらず特定の環境に依存しない汎用的かつオリジナルの貢献を目指している。 エンジニアか研究者かというのは、自分にとっては、単に時間の使い方の差に過ぎない。 エンジニア時代は、企業の商用システムの開発・運用経験を通して、余暇時間でブログに知見をまとめたり、ソフトウェア化したりしていたが、研究者になってからは現場経験のウェイトをほぼゼロにして、学術論文の形で深く知見をまとめて、ソフトウェア化を進めている。 1月 昨年の12月に前職を退職したのち、

    2019年振り返り - エンジニアから研究者へ - ゆううきブログ
    y_uuki
    y_uuki 2020/01/01
  • サーバーレスアーキテクチャ再考 - ゆううきブログ

    2014年にAWS Lambdaが登場し、Functionを単位としてアプリケーションを実行する基盤をFunction as a Service(以下、FaaS)と呼ぶようになった。 そして、同時にサーバーレスアーキテクチャ、またはサーバーレスコンピューティングと呼ばれる新しいコンセプトが普及するに至った。 当初、そのコンセプトが一体何を示すかが定まっていなかったために議論が巻き起こり、今現在では一定の理解に着地し、議論が落ち着いているようにみえる。 しかし、サーバーレスという名付けが悪いということで議論が着地したようにみえていることにわずかに疑問を覚えたために、2019年の今、これらの流れを振り返ってみて、サーバーレスアーキテクチャとは何かを改めて考えてみる。 サーバーレスとの個人的関わり サーバーレスアーキテクチャという名を僕がはじめて耳にしたのはAWS Lambdaが登場した2015

    サーバーレスアーキテクチャ再考 - ゆううきブログ
    y_uuki
    y_uuki 2019/09/12
    サーバーレス=FaaS+BaaSの定義から出発し、サーバーをマシンサーバーとネットワークサーバーに分けて考え、サーバーレスをサーバーを意識しないものとして捉えることにより名称の由来に迫ってみた。
  • はじめて国際会議で論文発表して考えたこと - ゆううきブログ

    先日、アメリカのウィスコンシン州ミルウォーキーで開催された国際会議 IEEE COMPSAC 2019で時系列データベースHeteroTSDBの論文を発表してきました。 IEEE COMPSACは、IEEE内のコンピュータソフトウェア分野の分科会IEEE Computer Societyのフラグシップカンファレンスとして開催されている国際会議です。 COMPSACが対象とする分野は、ソフトウェア、ネットワーク、セキュリティ、アプリケーションなど非常に幅広く、様々なテーマの発表がありました。 COMPSACは、メインシンポジウムと併設のワークショップにより構成されており、メインシンポジウムのregular paperの採択数は63(24.5%)、short paperの採択数は50となっています。 投稿時にregularとshortの区別はなく、今回の我々の論文は、メインシンポジウムのs

    はじめて国際会議で論文発表して考えたこと - ゆううきブログ
    y_uuki
    y_uuki 2019/07/29
    発表してきました
  • エッジコンピューティングを活かしたウェブアプリケーションホスティング構想 - ゆううきブログ

    さくらインターネット研究所では、超個体型データセンターというコンセプトに則り、あらゆるデバイスと場所がデータセンターとなり、各データセンターが有機的に結合した集中と分散のハイブリッド構造をもつコンピューティングを目指している。 超個体型データセンターにとって、重要な先行コンセプトに、エッジコンピューティングがある。 この記事では、エッジコンピューティング環境において、ウェブアプリケーションをホスティングするためのアーキテクチャを考察する。 エッジコンピューティング Kashifらのサーベイ論文1によると、エッジコンピューティング技術を必要とする背景は、次のようなものになる。 スマートデバイス、ウェアラブルガジェット、センサーの発展により、スマートシティ、pervasive healthcare、AR、インタラクティブなマルチメディア、IoE(Internet of Everything)な

    エッジコンピューティングを活かしたウェブアプリケーションホスティング構想 - ゆううきブログ
    y_uuki
    y_uuki 2019/02/28
    研究開発はじめました。
  • TCP接続の追跡による簡略化したネットワーク依存関係グラフの可視化基盤 - ゆううきブログ

    著者: 坪内佑樹(*1), 古川雅大(*1) 所属: (*1) 株式会社はてな 研究会: Web System Architecture研究会#3 はじめに ウェブシステムは,一般的に,分散したホスト上で動作するソフトウェアが互いにネットワーク通信することにより構成される. 相互にネットワーク通信するシステムにおいて,システム管理者があるネットワーク内のノードに変更を加えた結果,ノードと通信している他のノードに変更の影響がでることがある. ネットワーク接続数が多いまたはノードが提供するサービスの種類が多くなるほど,システム管理者が個々の通信の依存関係を記憶することは難しくなる. さらに,常時接続しておらず必要なタイミングで一時的に通信するケースでは,あるタイミングの通信状況を記録するだけでは通信の依存関係を把握できない. その結果,システムを変更するときの影響範囲がわからず,変更のたびに依

    TCP接続の追跡による簡略化したネットワーク依存関係グラフの可視化基盤 - ゆううきブログ
    y_uuki
    y_uuki 2018/11/24
    書いた
  • ゆううきブログ

    2024-01-04 2023年研究開発振り返り 日記 12月半ばに長らく取り組んでいた論文を投稿して気が抜けたのか、年末年始は呆けて過ごしている。気がついたら4日なってもまだ振り返りを書けていなかった。2023年は2022年と比べて自身の変化が少なく、振り返るためのやる気がでなかったのかもしれない。やる… #2023年振り返り #研究開発 #博士課程 2023-10-02 エンジニアのためのSRE論文への招待 - SRE NEXT 2023 SRE 論文 この記事では、2023年9月29日に開催されたSRE NEXT 2023 IN TOKYOでの講演の概要に加えて、講演では触れられなかった部分の補足と、発表を終えての後記、最後にSRE NEXT全体の感想を書きました。 2023-03-21 YAPC::Kyotoに参加してきた - 自分の原点を思い出すカンファレンス 日記 Perl 3

    ゆううきブログ
    y_uuki
    y_uuki 2018/06/13
    ゆううきブログがhttpsになった
  • サーバレス時代におけるヘテロジニアス時系列データベースアーキテクチャ - ゆううきブログ

    この記事は、第2回ウェブシステムアーキテクチャ研究会の予稿です。 ウェブシステムをモニタリングするために、高可用性、高書き込みスケーラビリティ、メトリックの長期保存が可能な時系列データベースが求められている。 これらを実現するために、性能特性の異なる汎用Key-Value Store(以下KVS)を組み合わせ、透過的に問い合わせ可能な、ヘテロジニアス時系列データベースであるDiamondを開発した。 この記事では、Diamondを分散システムの観点で捉え、アーキテクチャ、データ構造、実装を紹介し、考察によりFuture Workを議論する。 1. はじめに 2. アーキテクチャ アーキテクチャ概要 動作フロー データ構造 KVSの機能要件 3. 実装 実装概要 KVS間のデータ移動 データ位置の解決 費用特性 4. 考察と今後の課題 Diamondの欠点 将来機能 5. まとめ スライド

    サーバレス時代におけるヘテロジニアス時系列データベースアーキテクチャ - ゆううきブログ
    y_uuki
    y_uuki 2018/05/17
    書きました
  • DynamoDBのインフラコスト構造と削減策 - ゆううきブログ

    Amazon DynamoDBは、RDSのようなインスタンスサイズによる課金モデルではなく、ストレージのデータ使用量とスループットを基にした課金モデルになっている。 インスタンスサイズによる課金モデルでないデータストア系サービスとして、他にはS3、Kinesisなどがある。 これらは、AWSの中でも、フルマネージドサービスと呼ばれる位置づけとなるサービスだ。 フルマネージドサービスは、ElastiCacheのようなそうでないものと比較し、AWSに最適化されていて、サービスとしてよくできていると感じている。 Mackerelの時系列データベースのスタックの一つとして、DynamoDBを採用している。 時系列データベースの開発は、コストとの戦いだったために、それなりにコスト知見が蓄積してきた。(時系列データベースという概念をクラウドの技で再構築する - ゆううきブログ) (※ 以下は、2018

    DynamoDBのインフラコスト構造と削減策 - ゆううきブログ
    y_uuki
    y_uuki 2018/04/17
    書いた
  • Webサービスをデータセンター移行するときに必要となる技術要素 - ゆううきブログ

    クラウドへの移行を含むデータセンター(以下DC)移行事例を基に、WebサービスをDC移行するための基的な技術要素を紹介します。具体的には移行手順、データベースのデータ移行、ネットワーク、DNSなどです。 最近、社内で大規模なDC移行を実施しつつあり、DC移行とはなにかをメンバーへ共有するための文章でもあります。 ちなみに、この記事はHosting Casual Talks #4の発表内容を書き下ろしたものです。 移行事例 サービスAの事例 移行前 移行ステップ1 移行ステップ2 移行ステップ3 サービスBの事例 システム概要 フェーズ1: メインシステムとマイクロサービス型DBの移行 フェーズ2: その他のマイクロサービスの移行 移行のための技術要素 既存データの移行 新規データの移行 サービスドメインのDNSレコード変更 内部エンドポイントの変更 IPアドレス参照の場合 FQDN参照の

    Webサービスをデータセンター移行するときに必要となる技術要素 - ゆううきブログ
    y_uuki
    y_uuki 2018/02/19
    書いた
  • AnsibleとDockerによる1000台同時SSHオペレーション環境 - ゆううきブログ

    1000台同時SSHオペレーション環境を構築するにあたって、手元のローカル環境の性能限界の問題を解決するために、オペレーションサーバをSSHクライアントとすることによりSSH実行を高速化した。実行環境としてDocker、レジストリとしてAmazon ECR(EC2 Container Registry)を用いて、ローカル環境とオペレーションサーバ環境を統一することにより、オペレーションサーバの構成管理の手間を削減した。 はじめに システム構成 実装上の工夫 オペレーションサーバ越しのroot権限実行 rawモジュールとscriptモジュールのみの利用 Ansibleの実行ログのGit保存 まとめと今後の課題 はじめに 3年前に Ansible + Mackerel APIによる1000台規模のサーバオペレーション - ゆううきブログ という記事を書いた。 この記事では、ホストインベントリと

    AnsibleとDockerによる1000台同時SSHオペレーション環境 - ゆううきブログ
    y_uuki
    y_uuki 2018/01/29
    書いた
  • 2017年のエンジニアリング振り返り - ゆううきブログ

    はてなに入社して4年経った。 入社4年成功https://t.co/p3DaJCO1Tq— ゆううき (@y_uuk1) 2017年12月2日 2017年のエンジニアリング活動を一言でまとめてみよう。 時系列データベースの開発にはじまり、なぜかIPSJ-ONEで登壇し、その後IPSJ-ONEでの構想をベースにはてなシステム構想を考え始め、ウェブサイエンス研究会でストーリーとしてまとめ上げつつ新たな可能性に気づき、それを実践していく場としてウェブシステムアーキテクチャ(WSA)研究会を立ち上げた。 一方で、仕事では、昨年の振り返りに書いているように、エンジニアとしての専門性を発揮する機会が薄れてきたという問題意識が、いよいよ深刻な課題へと変貌したように感じている。それも残念ながら自分一人だけの問題ではなくなってきた。 この課題をエンジニアリングそのものではなく、人間のスケールアウトでは解決で

    2017年のエンジニアリング振り返り - ゆううきブログ
    y_uuki
    y_uuki 2017/12/31
    書いた
  • TimeFuzeアーキテクチャ構想 - 処理とデータとタイマーを一体化したデータパイプライン - ゆううきブログ

    この記事は第1回ウェブシステムアーキテクチャ(WSA)研究会の予稿です。 cronのようなタイムスケジューラーにより、定期的に実行されるバッチ処理の課題を解決するアーキテクチャを最近考えている。 この記事では、単一のタイムスケジューラによるcronベースの手法に代えて、データに対してタイマーと処理を仕込むことでスケールさせやすい構造にできないか、という提案を試みる。 はじめに Webサービスにおいて、リクエストに対してHTMLのレスポンスを返却する以外のワークロードの多様化が進んでいる。 最近であれば、機械学習による時間周期による大規模なデータ処理が求められることも多い。 その他、月次の課金バッチ処理や、ランキングの定期更新など、一定の時間間隔で任意の処理を実行したいケースは多い。 このような定期的なデータ処理パターンは、SRE[Bet17]の25.1節「パイプラインのデザインパターンの

    TimeFuzeアーキテクチャ構想 - 処理とデータとタイマーを一体化したデータパイプライン - ゆううきブログ
    y_uuki
    y_uuki 2017/12/25
    おもしろデータ処理アーキテクチャ考えた