InfoQ ホームページ Concurrency に関するすべてのコンテンツ
-
Netflixが仮想スレッドを採用:パフォーマンスと落とし穴に関するケーススタディ
長年Javaを採用してきたNetflixは、最近Java 21にアップグレードした。同社は現在、JEP 439で導入された世代ZGCや、JEP 444で導入された仮想スレッドなどの新機能を活用して、同社の広範なマイクロサービス群全体のパフォーマンスを改善している。高スループットの並行アプリケーション向けに設計された仮想スレッドは、初期には有望視されていたが、実際のシナリオでは独自の課題ももたらした。
-
Redisがマルチスレッド・クエリ・エンジンでベクトルセマンティック検索のパフォーマンスを向上
人気のインメモリ・データ構造ストアであるRedisは、最近、強化されたRedisクエリエンジンをリリースした。この開発は、ベクトル・データベースがGenAIアプリケーションの検索拡張世代(RAG)における重要性から脚光を浴びている時に行われた。
-
Swift 6が新しいオプトイン・データ競合セーフモードをもたらす
WWDC 2024の講演で、AppleのLanguages and Runtimesチームのリーダーであり、SwiftのコアチームのメンバーでもあるTed Kremenek氏は、Swift 6の新しいデータ競合セーフモードを紹介した。このモードでは、新しいコンパイル時の静的検出機能により、開発者がデータ競合のない並行プログラムを作成できるようになると期待されている。
-
Swift 非同期プログラミング・レシピ on GitHub
Swiftの開発者で、以前はCrashlyticsとAppleにいたMatt Massicotte氏が、Swiftの並行処理を使いやすくし、再発する問題を解決するために、陥りやすい罠を意識しながら、多くの便利なレシピを集めたGitHubのリポジトリを最近立ち上げた。
-
Erlangランタイムの静的型付け関数型言語Gleamがバージョン1.0に到達
Erlang仮想マシン(BEAM)上で実行されるアクターベースの高度な並行処理が可能な関数型言語であるGleamがバージョン1.0に到達した。これは、セマンティックバージョニングに基づいた下位互換性が保証され、運用システムで使用できるようになったことを意味する。
-
Swift 5.10: 完全なデータ分離コンパイル時の安全性を並行コードに提供
最新のSwiftのリリースであるSwift 5.10には、数点の新しい提案が含まれている。しかしながら、このアップデートは言語の並行処理モデルにとって重要な成果を示しており、これによりコンパイラ・レベルで完全なデータ分離を保証できるようになったと、SwiftチームのエンジニアであるHolly Borla氏は説明する。
-
Apache Pekko:アクター・モデルによる並行開発の簡素化
Apache Pekkoはオープンソースのフレームワークであり、並行、分散、回復力、伸縮性のあるアプリケーションの開発を簡素化するように設計されている。アクターモデルを活用することで、Pekko は並行処理のための高レベルな抽象化を提供し、開発者は低レベルな実装の詳細よりもビジネスロジックに集中できるようになる。Pekkoは、Akka2.6.xのフォークとして誕生し、Akkaのビジネス・ソース・ライセンス採用に先行していた。2年前、PekkoはApache Software Foundationでインキュベーション段階に入り、昨年バージョン1.0をリリースし、最新のリリースは1.0.2である。
-
Spring Boot 3.2、仮想スレッドと最新のRestClientとjdbcClientをサポート
Spring Bootチームは2023年11月にSpring Boot 3.2をリリースした。この最新リリースは機能が満載で、もっとも注目すべきは仮想スレッドとCoordinated Restore at Checkpoint (CRaC)のサポートだ。その他の機能としては、SSLバンドルのリロード、RestClientとjdbcClientインターフェースのサポート、オブザーバビリティの改善などがある。
-
Micronaut 4.0.0はJava仮想スレッド、GraalVMのサポートとHTTP/3の実験的機能を搭載
Micronaut財団はこのほど、Micronautフレームワーク4.0.0の一般提供(GA)リリースを発表した。このメジャーリリースは、人気のあるJVMベースのフレームワークに多数のアップデートと改善をもたらし、そのパフォーマンス、モジュール性、他の技術との互換性を強化する。
-
JDK 21の構造化並行処理:並行プログラミングの飛躍的な進歩
JEP 453「構造化同時実行(プレビュー)」は、JDK 21のTargetedステータスから統合された。以前はインキュベートAPIであった���、この最初のプレビューでは、過去2回のインキュベートからのフィードバックに対応した機能強化が盛り込まれている。JEP 428「構造化同時実行(インキュベーター」(JDK 19で提供)、JEP 437「構造化同時実行(セカンドインキュベーター)」(JDK 20で提供)。現在の提案における唯一の重要な変更は、StructuredTaskScope::fork(...)メソッドがFutureではなくSubtaskを返すということである。これはプレビュー機能である。
-
QCon New York 2023 初日を振り返る
2023年6月13日、ニューヨークのブルックリンにあるNew York Marriott at the Brooklyn Bridgeで、第9回QCon New Yorkカンファレンスの1日目が開催された。この3日間のイベントは、エンタープライズ開発コミュニティにおける偏りのないコンテンツと情報に焦点を当てたソフトウェアメディア会社であり、InfoQとQConのクリエーターであるC4Mediaが主催するものである。Radia Perlman氏による基調講演と、以下の4つのトラックからのプレゼンテーションが行われた。
-
JEP 428: javaマルチスレッドプログラミングを容易にする構造化並行性
JEP 428 "Structured Concurrency (Incubator)"が、JDK 19のProposed to TargetステータスからTargetedステータスに昇格した。Project Loomの傘下にあるこのJEPは、異なるスレッド上で動作する複数のタスクをアトミックなオペレーションとして扱うライブラリの導入によって、マルチスレッドプログラミングを簡略にすることを提案するものだ。エラー処理の容易化、信頼性の向上、可観測性の改善が期待できる。
-
JEP 425: 仮想スレッドによるスループット向上
JEP 425 "Virtual Threads (Preview)"が、JDK 19対象のProposed to TargetからTargetedに昇格した。Project Loomの傘下にあるこのJEPでは、仮想スレッドを導入する。これによって実現される軽量スレッドは、スループットの高いJavaプラットフォーム並列アプリケーションの記述、維持、監視に必要な労力を大幅に軽減するもので、現時点ではプレビュー機能である。
-
大規模コードベースを効率的に処理するInferのAndroid用新デッドロック検出ツール
ロンドン大学カレッジとFacebookの研究者らが共同研究により、AndroidのJavaコード用のデッドロック検出ツール(deadlock detector)を新たに開発し、オープンソースの静的解析ツールであるInferの一部として公開した。この新しいアナライザは、CIパイプラインに統合するために特別に設計されたインクリメンタルなアプローチにより、大規模なコードベースを効率的に処理することができる。
-
OCaml 5、マルチコアサポートを導入へ
OCamlチームが言語ランタイムのマルチコアサポート追加に関する詳細なロードマップを公開した。OCaml 5に向けた次期マイナーリリースでは、マルチコアランタイムと標準ランタイムの統合に重点が置かれている。