Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cassandra の分散トランザクションプロトコル Accord (抜粋)

Youki Shiraishi
November 22, 2022
500

Cassandra の分散トランザクションプロトコル Accord (抜粋)

NewSQL/分散SQLデータベースよろず勉強会 #1
2022年11月22日

Youki Shiraishi

November 22, 2022
Tweet

Transcript

  1. 自己紹介 ࡄ 名前ࡇ 白石 裕輝 ࡫ॅʿ࡙ɯǞɟŏ࡬ ࡄ 所属ࡇ Ÿ÷÷ コンピュータ

    ॆ データサイエンス研究所 ࡄ 興味ࡇ 分散システム,データベースシステム ࡄ 一言ࡇ 分散システムや分散トランザクションに詳しい方,ぜひ仲良く してください. ै ߞߜߞߞ Ÿ÷÷ +ȩɟɔȩɟŏɾǞȩȘ ߝ
  2. +ŏɯɯŏȘƇɟŏ のデータモデル Country City Population USA New York 8,000,000 USA

    Los Angeles 4,000,000 FR Paris 2,230,000 DE Berlin 3,350,000 UK London 9,200,000 AU Sydney 4,900,000 DE Nuremberg 500,000 CA Toronto 6,200,000 CA Montreal 4,200,000 FR Toulouse 1,100,000 JP Tokyo 37,430,000 IN Mumbai 20,200,000 Partition Key USA New York 8,000,000 USA Los Angeles 4,000,000 FR Paris 2,230,000 FR Toulouse 1,100,000 JP Tokyo 37,430,000 CA Toronto 6,200,000 CA Montreal 4,200,000 DE Berlin 3,350,000 DE Nuremberg 500,000 UK London 9,200,000 AU Sydney 4,900,000 IN Mumbai 20,200,000 Partition #7 Partition #1 Partition #2 Partition #3 Partition #4 Partition #5 Partition #6 ै ߞߜߞߞ Ÿ÷÷ +ȩɟɔȩɟŏɾǞȩȘ ߞ
  3. +ŏɯɯŏȘƇɟŏ とトランザクション ࡄ +ŏɯɯŏȘƇɟŏ は,単一パーティション上の軽量トランザクション ࡫ǞǃǕɾʶƚǞǃǕɾ ÷ɟŏȘɯŏżɾǞȩȘࡈ Ħ÷࡬ をサポートしており,v_ 句を含む

    vŸëCá÷ や ĆÚ4÷C クエリを線形化可能性を保証しながら実 行することができる. ࡄ 内部的には,Úŏʾȩɯ ࡟ߝࡠ に読み取りフェーズとコミットフェーズを加えたプロトコルを用いて 線形化可能な +ȩȒɔŏɟƚࡷŏȘƇࡷëʶŏɔ 操作を実現している ࡟ߞࡠ. ,B[Wa ,BaH ïãßã Ϭ°™ϔ Ɇȝϔ ܆ããûÐߙϡ­†ã­ϔ ߝãêϡêпÉϔ ߝ¨°ÐÉϭ q;f[ Ϭ΁΂΃ϔ ϝ†Â°“ϝϔ Bf;;ϔ ϝãÐȝϡú†Â°™ϡêпÉϝϔ ϝ¼ÜϾ†ãêϝϭ ,# BHa w,[a[Ϟ ϾϾ “Ðə°ê°ÐɆ “†ï㝠fTa ïãßã [a ܆ããûÐߙϡ­†ã­ и ϝɝûϡ­†ã­ϝ r)W ߝ¨°ÐÉ и ϝ¼ÜϾ†ãêϝ ϾϾ ܆ßê°ê°ÐÉϓ ߝ¨°ÐÉиϝ¼ÜϾ†ãêϝ B °™ и ΁΂΃ ϾϾ “Ðə°ê°ÐɆ “†ï㝠,# ߝãêϡêпÉ и ϝãÐȝϡú†Â°™ϡêпÉϝϞ ϾϾ “Ðə°ê°ÐɆ “†ï㝠ै ߞߜߞߞ Ÿ÷÷ +ȩɟɔȩɟŏɾǞȩȘ ߟ
  4. 分散トランザクションプロトコル żżȩɟƇ ࡄ ߞߜߞߝ 年 ߝߜ 月に複数パーティションにアクセスするバッチの厳密な直列化可能性を保証する żżȩɟƇ ࡟ߟࡠ が提案され,ߞߜߞߞ

    年中のリリースを目標に開発が進められている ࡟ߠࡠ. ࡄ żżȩɟƇ は,Úŏʾȩɯ ࡟ߝࡠ や áŏǀɾ ࡟ߡࡠ といったリーダーベースの複製プロトコルではなく,リーダ ーレスプロトコルの CÚŏʾȩɯ ࡟ߢࡠ をベースに最適化を加えたものである. $,B aWB[a,HB ;a †Â°“ и Ϭ[;a ’†Â†É“ #WHA †““ÐïÉêã r)W ­Ð™ßиϝ†Â°“ϝϭϞ ,# †Â°“ϙ’†Â†É“ ми ΂΀ a)B fTa †““ÐïÉêã [a ’†Â†É“ Ͼи ΂΀ r)W ­Ð™ßиϝ†Â°“ϝϞ ϾϾ ܆ßê°ê°ÐÉϓ ­Ð™ßиϝ†Â°“ϝ fTa †““ÐïÉêã [a ’†Â†É“ яи ΂΀ r)W ­Ð™ßиϝ’Ð’ϝϞ ϾϾ ܆ßê°ê°ÐÉϓ ­Ð™ßиϝ’Ð’ϝ B ,# HAA,a aWB[a,HBϞ ै ߞߜߞߞ Ÿ÷÷ +ȩɟɔȩɟŏɾǞȩȘ ߠ
  5. 分散トランザクションに関する研究 ࡄ 線形化可能性を保証する複製プロトコル上で直列化可能性を保証する並行性制御プロトコル とアトミックコミットプロトコルを実行して分散トランザクションを実現した. ࡄ ÚƚɟżȩȀŏɾȩɟ ࡟ߣࡠࡈ ëɔŏȘȘƚɟ ࡟ߤࡠ म

    +ȩżǺɟȩŏżǕ4$ ࡟ߥࡠࡈ Įʕǃŏųʿɾƚ4$ࡈ ÷Ǟ4$ ࡟ߝߜࡠ ࡄ 一貫性のない複製上で線形化可能性と直列化可能性を同時に保証する楽観的なプロトコルを 実行することで不必要な調停を削減かつマルチマスター化した. ࡄ ›4++ ࡟ߝߝࡠࡈ ÷Úvá ࡟ߝߞࡠ ࡄ アクセスするデータが既知なストアドプロシージャやバッチを前提とし,トランザクション の実行前に実行順序に合意することで調停を削減した. ࡄ +ŏȀʲǞȘ ࡟ߝߟࡠ म _ŏʕȘŏ4$ ࡄ アクセスするデータが既知なストアドプロシージャやバッチを前提とし,トランザクション の実行前に依存関係に合意することで調停を削減かつマルチマスター化した. ࡄ ‰ŏȘʕɯ ࡟ߝߠࡠࡈ ÷ƚȒɔȩ ࡟ߝߡࡠ म +ŏɯɯŏȘƇɟŏ ࡫żżȩɟƇ ࡟ߟࡠ࡬ ै ߞߜߞߞ Ÿ÷÷ +ȩɟɔȩɟŏɾǞȩȘ ߡ
  6. żżȩɟƇ を理解する 本発表は żżȩɟƇ の分散トランザクションの仕組みと最適化を理解することを目標とする. ߝࡏ 合意とステートマシンレプリケーション ࡫ë›á࡬ ࡄ Úŏʾȩɯ

    ࡟ߝࡠࡈ ›ʕȀɾǞࡷÚŏʾȩɯ ࡟ߝࡠ ߞࡏ 高速パスによる高速な合意 ࡄ _ŏɯɾ Úŏʾȩɯ ࡟ߝߢࡠ ߟࡏ 競合グラフを用いる一般化 ë›á と高速パスを用いたコミット遅延の最適化 ࡄ CÚŏʾȩɯ ࡟ߢࡠࡈ +ŏƚɯŏɟ ࡟ߝߣࡠ ߠࡏ 一般化 ë›á の高速パスの利用率を向上させる最適化 ࡄ żżȩɟƇ ࡟ߟࡠ ै ߞߜߞߞ Ÿ÷÷ +ȩɟɔȩɟŏɾǞȩȘ ߢ
  7. żżȩɟƇ の概要 ࡄ żżȩɟƇ ࡟ߟࡠ は +ŏɯɯŏȘƇɟŏ で提案されている分散トランザクションプロトコルである.アクセ スするデータが既知なバッチを前提とし ߟ,トランザクションごとに合意プロトコルを実行し

    て競合するトランザクション間の実行順序に合意する ࡫コミット遅延は ߝࡵߞ á÷÷࡬.実行順序が 確定した後に,それに従ってトランザクションロジックを実行する. ࡄ żżȩɟƇ は,+ŏƚɯŏɟ と同様に各トランザクションに一意な論理タイムスタンプ ࡫ハイブリッド 論理クロック ࡟ߞߞࡠ࡬ を割り当て,CÚŏʾȩɯ ベースのプロトコルを通じてコマンドの実行タイム スタンプに対する合意を形成する. ࡄ żżȩɟƇ は高速パスの利用率を向上させるために ࡫ߝ࡬ 柔軟な高速パスクォーラムと ࡫ߞ࡬ タイムス タンプリオーダーバッファの ߞ つの最適化を行っている.これらの最適化により,プロトコ ルの安定性を向上させ,性能を予測可能にしている. ߟ°ȘƚࡷɯǕȩɾ モデル ࡟ߞߝࡠ とは異なり,あるパーティションの読み取りを別のパーティションの書き込みの計算に利用可能. ै ߞߜߞߞ Ÿ÷÷ +ȩɟɔȩɟŏɾǞȩȘ ߞߟ
  8. żżȩɟƇ プロトコル ࡫ߝ࡬ <latexit sha1_base64="8Iw/xi6m6FvBEjPPnBH2X4NV+7Q=">AAACF3icbVDLSgMxFM3UV62vUTeCm2ARXJUZKeqy4MZlBfuAzlAymTttaCYzJBmhDP0LN/6KGxeKuNWdf2PazkLbHhI4nHNvbu4JUs6Udpwfq7S2vrG5Vd6u7Ozu7R/Yh0dtlWSSQosmPJHdgCjgTEBLM82hm0ogccChE4xup37nEaRiiXjQ4xT8mAwEixgl2kh9u+YFMGAip+YNNal43qoDIiwK+nbVqTkz4GXiFqSKCjT79rcXJjSLQWjKiVI910m1nxOpGeVgBmYKUkJHZAA9QwWJQfn5bK8JPjdKiKNEmis0nql/O3ISKzWOA1MZEz1Ui95UXOX1Mh3d+DkTaaZB0PmgKONYJ3gaEg6ZBKr52BBCJTN/xXRIJKHaRFkxIbiLKy+T9mXNvarV7+vVxkkRRxmdojN0gVx0jRroDjVRC1H0hF7QG3q3nq1X68P6nJeWrKLnGP2D9fULxvidsA==</latexit> 8 > > > >

    > > > > > > < > > > > > > > > > > : <latexit sha1_base64="yEv5WodzNsLCVuyjtw6UCH5LcO8=">AAAB/nicbVBNS8NAEN34WetXVATBS7AI9VISKeqx4MVjRfsBTSib7aZdutmE3VmxhIJ/xYsHRbz6O7z5b9y2OWjrg4HHezPMzAtTzhS47re1tLyyurZe2Chubm3v7Np7+02VaElogyQ8ke0QK8qZoA1gwGk7lRTHIaetcHg98VsPVCqWiHsYpTSIcV+wiBEMRurahz7QR1Aku9NhzGBc9gHrs65dcivuFM4i8XJSQjnqXfvL7yVEx1QA4VipjuemEGRYAiOcjou+VjTFZIj7tGOowDFVQTY9f+ycGqXnRIk0JcCZqr8nMhwrNYpD0xljGKh5byL+53U0RFdBxkSqgQoyWxRp7kDiTLJwekxSAnxkCCaSmVsdMsASEzCJFU0I3vzLi6R5XvEuKtXbaql2lMdRQMfoBJWRhy5RDd2gOmoggjL0jF7Rm/VkvVjv1sesdcnKZw7QH1ifP4L9lbY=</latexit> Submit(⌧) <latexit sha1_base64="N8VkE2Ik7vn6bC9lddKCMm00xco=">AAACMniclVDLSgMxFM34rPU16kZwEyyCqzIjRV0W3Oiugn1AZyiZzJ02NJMZkoxQhn6TG79EcKELRdz6EabtLLR14yWBwzn3JPeeIOVMacd5sZaWV1bX1ksb5c2t7Z1de2+/pZJMUmjShCeyExAFnAloaqY5dFIJJA44tIPh1URv34NULBF3epSCH5O+YBGjRBuqZ994AfSZyKl5Q43LnvfPAyIsvD274lSdaeFF4Baggopq9OwnL0xoFoPQlBOluq6Taj8nUjPKwcySKUgJHZI+dA0UJAbl59OVx/jEMCGOEmmu0HjK/nTkJFZqFAemMyZ6oOa1CfmX1s10dOnnTKSZBkFnH0UZxzrBk/xwyCRQzUcGECqZmRXTAZGEapNy2YTgzq+8CFpnVfe8WrutVeqHRRwldISO0Sly0QWqo2vUQE1E0QN6Rm/o3Xq0Xq0P63PWumQVngP0q6yvb9qPpZA=</latexit> 8 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > : <latexit sha1_base64="KtWkrGfMKOUJRXF6noP9f6V/U9A=">AAACFnicbVA9SwNBEN3z2/gVtRFsFqNgY7gLopaCjaWCUSEJYW4zp4t7u8furBiCv8LGv2JjoYit2Plv3MQUfj0YeLw3w8y8tFDSURx/RCOjY+MTk1PTpZnZufmF8uLSqTPeCqwLo4w9T8GhkhrrJEnheWER8lThWXp10PfPrtE6afQJdQts5XChZSYFUJDa5a0Dox1q5x03moPmeIPC9z1OMkdHkBfcZHy9SeDX2+VKXI0H4H9JMiQVNsRRu/ze7Bjhc9QkFDjXSOKCWj2wJIXC21LTOyxAXMEFNgLVEFa2eoO3bvlGUDo8MzaUJj5Qv0/0IHeum6ehMwe6dL+9vvif1/CU7bV6UheeUIuvRZlXnAzvZ8Q70qIg1Q0EhJXhVi4uwYKgkGQphJD8fvkvOa1Vk53q9nGtsr8yjGOKrbI1tskStsv22SE7YnUm2B17YE/sObqPHqOX6PWrdSQaziyzH4jePgGfu57i</latexit> Consensus on an execution timestamp of ⌧ <latexit sha1_base64="/wl0Cp5FkupVxql3E1fiFueHMjY=">AAACC3icbVDLSgMxFM34rPU16kZwE1oEV2VGirosuHFZwT6gM5RM5k4bmskMSUYoQ/du/BU3LhRx6w+4829M2xG09ZDA4Zx7c3NPkHKmtON8WSura+sbm6Wt8vbO7t6+fXDYVkkmKbRowhPZDYgCzgS0NNMcuqkEEgccOsHoeup37kEqlog7PU7Bj8lAsIhRoo3UtyteAAMmcmreUJOy5/0cEGEh9u2qU3NmwMvELUgVFWj27U8vTGgWg9CUE6V6rpNqPydSM8rBDMkUpISOyAB6hgoSg/Lz2S4TfGqUEEeJNFdoPFN/d+QkVmocB6YyJnqoFr2p+J/Xy3R05edMpJkGQeeDooxjneBpMDhkEqjmY0MIlcz8FdMhkYRqE1/ZhOAurrxM2uc196JWv61XG8dFHCV0giroDLnoEjXQDWqiFqLoAT2hF/RqPVrP1pv1Pi9dsYqeI/QH1sc33sOaMA==</latexit> 8 > < > : <latexit sha1_base64="URNBnztAgVhe5njv0XCowa4d1Zs=">AAACGnicdVDLSgMxFM3UV62vUTeCm2ARXJUZKeqy4MZlBfuAzlAymTttaCYzJBmhDP0ON/6KGxeKuBM3/o1pOwtt9ZDA4Zx7c3NPkHKmtON8WaWV1bX1jfJmZWt7Z3fP3j9oqySTFFo04YnsBkQBZwJammkO3VQCiQMOnWB0PfU79yAVS8SdHqfgx2QgWMQo0Ubq264XwICJnJo31KTief8cEGFR07erTs2ZAS8TtyBVVKDZtz+8MKFZDEJTTpTquU6q/ZxIzSgHMzNTkBI6IgPoGSpIDMrPZ6tN8KlRQhwl0lyh8Uz92ZGTWKlxHJjKmOihWvSm4l9eL9PRlZ8zkWYaBJ0PijKOdYKnOeGQSaCajw0hVDLzV0yHRBKqTZoVE4K7uPIyaZ/X3Ita/bZebRwVcZTRMTpBZ8hFl6iBblATtRBFD+gJvaBX69F6tt6s93lpySp6DtEvWJ/fhuWekA==</latexit> 8 > > > > > > > > > > > > > < > > > > > > > > > > > > > : <latexit sha1_base64="8Iw/xi6m6FvBEjPPnBH2X4NV+7Q=">AAACF3icbVDLSgMxFM3UV62vUTeCm2ARXJUZKeqy4MZlBfuAzlAymTttaCYzJBmhDP0LN/6KGxeKuNWdf2PazkLbHhI4nHNvbu4JUs6Udpwfq7S2vrG5Vd6u7Ozu7R/Yh0dtlWSSQosmPJHdgCjgTEBLM82hm0ogccChE4xup37nEaRiiXjQ4xT8mAwEixgl2kh9u+YFMGAip+YNNal43qoDIiwK+nbVqTkz4GXiFqSKCjT79rcXJjSLQWjKiVI910m1nxOpGeVgBmYKUkJHZAA9QwWJQfn5bK8JPjdKiKNEmis0nql/O3ISKzWOA1MZEz1Ui95UXOX1Mh3d+DkTaaZB0PmgKONYJ3gaEg6ZBKr52BBCJTN/xXRIJKHaRFkxIbiLKy+T9mXNvarV7+vVxkkRRxmdojN0gVx0jRroDjVRC1H0hF7QG3q3nq1X68P6nJeWrKLnGP2D9fULxvidsA==</latexit> 8 > > > > > > > > > > < > > > > > > > > > > : <latexit sha1_base64="ql4Q86k1LAp5SZ7iecl8bSq52tk=">AAAB63icbVBNS8NAEJ3Ur1q/ql4EL4tF8FSSIuqx4MVjFfsBbSibzaZdursJuxuhhP4FLx4U8eof8ua/cdPmoK0PBh7vzTAzL0g408Z1v53S2vrG5lZ5u7Kzu7d/UD086ug4VYS2Scxj1QuwppxJ2jbMcNpLFMUi4LQbTG5zv/tElWaxfDTThPoCjySLGMEmlx4oDofVmlt350CrxCtIDQq0htWvQRiTVFBpCMda9z03MX6GlWGE01llkGqaYDLBI9q3VGJBtZ/Nb52hc6uEKIqVLWnQXP09kWGh9VQEtlNgM9bLXi7+5/VTE934GZNJaqgki0VRypGJUf44CpmixPCpJZgoZm9FZIwVJsbGU7EheMsvr5JOo+5d1S/vG7XmSRFHGU7hDC7Ag2towh20oA0ExvAMr/DmCOfFeXc+Fq0lp5g5hj9wPn8A1uaN+w==</latexit> Read <latexit sha1_base64="l1cig5alhcdiiSV0Z50QcUpCf0E=">AAAB7HicbVBNS8NAFHzxs9avqhfBy2IRPJWkiHosePFYwbSFNpTNdtMu3WzC7otQQn+DFw+KePUHefPfuG1z0NaBhWHmPd7OhKkUBl3321lb39jc2i7tlHf39g8OK0fHLZNkmnGfJTLRnZAaLoXiPgqUvJNqTuNQ8nY4vpv57SeujUjUI05SHsR0qEQkGEUr+W0tkPcrVbfmzkFWiVeQKhRo9itfvUHCspgrZJIa0/XcFIOcahRM8mm5lxmeUjamQ961VNGYmyCff3ZKLqwyIFGi7VNI5urvjZzGxkzi0E7GFEdm2ZuJ/3ndDKPbIBcqzZArtjgUZZJgQmbJyUBozlBOLKHM5haMsBHVlKHtp2xL8JYjr5JWveZd164e6tXGaVFHCc7gHC7BgxtowD00wQcGAp7hFd4c5bw4787HYnTNKXZO4A+czx/Wco6U</latexit> Write <latexit sha1_base64="fqfDZ1ku/Uci8rt7T5VInh5lBbY=">AAACNXicbVBNSxxBEO1Ro2aNZtVLwEuTJZDTMiNiPAqiePCwgawKO+tS01ujjT3dQ3eNuAzzp7z4PzyZQw6KeM1fSM/uHvzIg4bX71VRVS/JlXQUhr+Dmdm5D/MLix8bS5+WVz43V9eOnSmswK4wytjTBBwqqbFLkhSe5hYhSxSeJJd7tX9yhdZJo3/RKMd+BudaplIAeWnQPIoJr6nsav/jJuUH4Ih3gC6qOG5MvH2FgowFQsdTY6uYxwQF9z6PM1+ZJOV+dVZrg2YrbIdj8PckmpIWm6IzaN7FQyOKDDUJBc71ojCnfgmWpFBYNeLCYQ7iEs6x56mGDF2/HF9d8W9eGdYb+aeJj9WXHSVkzo2yxFfWa7q3Xi3+z+sVlO70S6nzglCLyaC0UJwMryPkQ2l9ImrkCQgr/a5cXIAFQT7ohg8henvye3K82Y6221s/t1q7X6ZxLLIN9pV9ZxH7wXbZIeuwLhPsht2zB/YY3AZ/gqfgeVI6E0x71tkrBH//AbqAq+A=</latexit> Union of Fast Path Electorates for ⌧ E⌧ <latexit sha1_base64="D4d6RzvSEsaZn1e9QBIirVrRE2U=">AAACOnicbVA9SwNBEN2L3/EraiPYLAbBKtyJqKVgYxk/ooFcDHububhkb+/YnRPDcb/Lxl9hZ2FjoYitP8C9JIUaBxbevjfDvHlBIoVB1312SlPTM7Nz8wvlxaXlldXK2vqViVPNocFjGetmwAxIoaCBAiU0Ew0sCiRcB/2TQr++A21ErC5xkEA7Yj0lQsEZWqpTOfMR7jFrKPujcUjrTKPgIrGy6uW+Xx7p52DNcEYvAA0NY5371EeWUttA/YjhbRBk9fym4DqVqltzh0UngTcGVTKueqfy5HdjnkagkEtmTMtzE2xnQyMS8rKfGkgY77MetCxULALTzoan53THMt3CkX0K6ZD9OZGxyJhBFNjOwqb5qxXkf1orxfConQmVpAiKjxaFqaQY0yJH2hUaOMqBBYxrYb1Sfss042jTLtsQvL8nT4KrvZp3UNs/268eb47jmCdbZJvsEo8ckmNySuqkQTh5IC/kjbw7j86r8+F8jlpLznhmg/wq5+sbXGSuNQ==</latexit> Union of Participating Replica Sets for ⌧ P⌧ <latexit sha1_base64="ORJSPvgllm2aIXC5cNfWwvv8TTs=">AAACIHicfVDLSgMxFM3UV62vUTeCm2ARXJUZKdZlwY3LCrYVOkPJZO60oZnMkGSEMvRT3Pgrblwoojv9GtN2FtqKhwQO59ybm3uClDOlHefTKq2srq1vlDcrW9s7u3v2/kFHJZmk0KYJT+RdQBRwJqCtmeZwl0ogccChG4yupn73HqRiibjV4xT8mAwEixgl2kh9u+EFMGAip+YNNal43r8HRFhU9u2qU3NmwMvELUgVFWj17Q8vTGgWg9CUE6V6rpNqPydSM8rBTM4UpISOyAB6hgoSg/Lz2YITfGqUEEeJNFdoPFN/duQkVmocB6YyJnqoFr2p+JfXy3R06edMpJkGQeeDooxjneBpWjhkEqjmY0MIlcz8FdMhkYRqk2nFhOAurrxMOuc196JWv6lXm0dFHGV0jE7QGXJRAzXRNWqhNqLoAT2hF/RqPVrP1pv1Pi8tWUXPIfoF6+sbDcegUA==</latexit> 8 > > > > > > > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > : <latexit sha1_base64="QO/1W9bKVSKhOXsVouZqqKi2pCo=">AAACBnicbVDLSgNBEJyNrxhfUS+CCINBiCBhV4J6jHjxGME8IAlhdtKbDJl9MNMrhiUnL/6KFw+KePUbvPk3TpI9aLSgoajqprvLjaTQaNtfVmZhcWl5JbuaW1vf2NzKb+/UdRgrDjUeylA1XaZBigBqKFBCM1LAfFdCwx1eTfzGHSgtwuAWRxF0fNYPhCc4QyN18wdthHvUPKkquOQcIhwX28jiE4pd+7ibL9glewr6lzgpKZAU1W7+s90LeexDgFwyrVuOHWEnYQoFlzDOtWMNEeND1oeWoQHzQXeS6RtjemSUHvVCZSpAOlV/TiTM13rku6bTZzjQ895E/M9rxehddBIRRDFCwGeLvFhSDOkkE9oTCjjKkSGMK2FupXzAFONoksuZEJz5l/+S+mnJOSuVb8qFyl4aR5bsk0NSJA45JxVyTaqkRjh5IE/khbxaj9az9Wa9z1ozVjqzS37B+vgGe4mYWA==</latexit> PreAccept(⌧, t0) <latexit sha1_base64="ENX4FHcDi7QZm3e9WodVzLAZrf4=">AAACEHicbVA9SwNBEN2L3/Hr1EawWQxiBAl3EtRSsBEsVDAayB3H3mYSl+x9sDsnhiM/wca/YmOhiK2lnf/GTbxCjQ8GHu/NMDMvTKXQ6DifVmlicmp6ZnauPL+wuLRsr6xe6SRTHBo8kYlqhkyDFDE0UKCEZqqARaGE67B3PPSvb0FpkcSX2E/Bj1g3Fh3BGRopsLc9hDvUPD87HVQxELvUixjeqChvQ6oHgah6yLKdncCuODVnBDpO3IJUSIHzwP7w2gnPIoiRS6Z1y3VS9HOmUHAJg7KXaUgZ77EutAyNWQTaz0cPDeiWUdq0kyhTMdKR+nMiZ5HW/Sg0ncNr9V9vKP7ntTLsHPq5iNMMIebfizqZpJjQYTq0LRRwlH1DGFfC3Er5DVOMo8mwbEJw/748Tq72au5+rX5RrxytF3HMkg2ySarEJQfkiJyQc9IgnNyTR/JMXqwH68l6td6+W0tWMbNGfsF6/wJ6Z5y6</latexit> OK(ti, depsi (⌧)) <latexit sha1_base64="UdEEJnU2ejRZrO7wmQ9sDIU/Vsg=">AAAB+3icbVDLSgMxFM3UV62vsW4EQYJFcFVmRNSdBUFctmAf0A4lk2ba0MyD5I60DLP0N7pxoYhbod/hzm/wJ0wfC209EDiccy/35LiR4Aos68vIrKyurW9kN3Nb2zu7e+Z+vqbCWFJWpaEIZcMligkesCpwEKwRSUZ8V7C627+d+PVHJhUPgwcYRszxSTfgHqcEtNQ28y1gA1A0uSMKcJlAL22bBatoTYGXiT0nhZvRuPL9dDwut83PVieksc8CoIIo1bStCJyESOBUsDTXihWLCO2TLmtqGhCfKSeZZk/xqVY62AulfgHgqfp7IyG+UkPf1ZO+TqcWvYn4n9eMwbt2Eh5EMbCAzg55scAQ4kkRuMMloyCGmhAquc6KaY9IQkHXldMl2ItfXia186J9Wbyo2IXSIZohi47QCTpDNrpCJXSPyqiKKBqgEXpBr0ZqPBtvxvtsNGPMdw7QHxgfP8lqmJE=</latexit> Fast Path <latexit sha1_base64="a79bBXAJO0/xxVqK4eXstik1Bbg=">AAAB+3icbVDLSgMxFM34rPU11o0gSLAIrsqMiLqz4MZli/YB7VAyaaYNzTxI7mjLMEt/oxsXirgV+h3u/AZ/wvSx0NYDgcM593JPjhsJrsCyvoyl5ZXVtfXMRnZza3tn19zLVVUYS8oqNBShrLtEMcEDVgEOgtUjyYjvClZzezdjv/bApOJhcA+DiDk+6QTc45SAllpmrgmsD4omdyJ8xCUC3bRl5q2CNQFeJPaM5K+Ho/L309Go1DI/m+2Qxj4LgAqiVMO2InASIoFTwdJsM1YsIrRHOqyhaUB8ppxkkj3FJ1ppYy+U+gWAJ+rvjYT4Sg18V0/6Op2a98bif14jBu/KSXgQxcACOj3kxQJDiMdF4DaXjIIYaEKo5Dorpl0iCQVdV1aXYM9/eZFUzwr2ReG8bOeLB2iKDDpEx+gU2egSFdEtKqEKoqiPhugFvRqp8Wy8Ge/T0SVjtrOP/sD4+AHtCZio</latexit> Slow Path <latexit sha1_base64="wcWMcljiR20V1o/5lWqkr5IzJx4=">AAACFnicbVA9SwNBEN3z2/gVtRFsFoOgoOFORO2M2FgqGBVyMexNJrpk74PdOTEe+RU2Nv4QGwtFbMXOPyKWbhILvx4MPN6bYWZekChpyHXfnL7+gcGh4ZHR3Nj4xORUfnrmyMSpBixDrGJ9EgiDSkZYJkkKTxKNIgwUHgfN3Y5/fIHayDg6pFaC1VCcRbIhQZCVavlVn/CSDGQ7AJhQe8knka5wWuF+KOhch1kdE9OTl5dr+YJbdLvgf4n3RQrbH1fvJbg93a/lX/16DGmIEYESxlQ8N6FqJjRJUNjO+anBREBTnGHF0kiEaKpZ9602X7RKnTdibSsi3lW/T2QiNKYVBrazc6v57XXE/7xKSo2taiajJCWMoLeokSpOMe9kxOtSI5BqWSJAS3srh3OhBZBNMmdD8H6//JccrRW9jeL6gVcozbEeRtg8W2BLzGObrMT22D4rM2DX7I49sEfnxrl3npznXmuf8zUzy37AefkEo3CjUA==</latexit> Accept(⌧, t, deps(⌧)) <latexit sha1_base64="joVPn4QlG2HmWpbf8Tg16MKI+Yw=">AAACC3icbVA9SwNBEN2LXzF+RW0EmyNBSJpwJ0EtAzaChRHMB+SOsLeZJEv2PtidE8OR3sa/YmOhiK1/wM5/4ya5QhMfDDzem2FmnhcJrtCyvo3Myura+kZ2M7e1vbO7l98/aKowlgwaLBShbHtUgeABNJCjgHYkgfqegJY3upz6rXuQiofBHY4jcH06CHifM4pa6uYLDsIDKpbcXE9Kjk9xKP2kB5GadHnJQRqXy9180apYM5jLxE5JkaSod/NfTi9ksQ8BMkGV6thWhG5CJXImYJJzYgURZSM6gI6mAfVBucnsl4l5opWe2Q+lrgDNmfp7IqG+UmPf053Ta9WiNxX/8zox9i/chAdRjBCw+aJ+LEwMzWkwZo9LYCjGmlAmub7VZEMqKUMdX06HYC++vEyapxX7rFK9rRZrR2kcWXJMCqREbHJOauSK1EmDMPJInskreTOejBfj3fiYt2aMdOaQ/IHx+QMwnZsA</latexit> OK(depsi (⌧)) <latexit sha1_base64="4dHPQxQC91r0XhIMBOLRUrFfrGg=">AAACFnicbVBNS8NAEN34WetX1IvgZbEILdSSSFGPghePClaFJpTNdloXd5OwOxFL6K/w4l/x4kERr+LNf+P246CtDwYe780wMy9KpTDoed/OzOzc/MJiYam4vLK6tu5ubF6ZJNMcGjyRib6JmAEpYmigQAk3qQamIgnX0d3pwL++B21EEl9iL4VQsW4sOoIztFLL3Q8QHtDw/DRRSmC/HCDLqhSrNFAMb7XK25CakVyptNySV/OGoNPEH5MSGeO85X4F7YRnCmLkkhnT9L0Uw5xpFFxCvxhkBlLG71gXmpbGTIEJ8+FbfbpnlTbtJNpWjHSo/p7ImTKmpyLbObjVTHoD8T+vmWHnOMxFnGYIMR8t6mSSYkIHGdG20MBR9ixhXAt7K+W3TDOONsmiDcGffHmaXB3U/MNa/aJeOtkex1EgO2SXlIlPjsgJOSPnpEE4eSTP5JW8OU/Oi/PufIxaZ5zxzBb5A+fzBw2Snyc=</latexit> Commit(⌧, t, deps(⌧))<latexit sha1_base64="7nY57CMhbdoXv6jSIRFYIyUkdWw=">AAACGXicbVDLSgNBEJyNrxhfUS+Cl8EgGJCwK0E9Brx4jGIekA1hdrZjhsw+mOkVw5Lf8OKvePGgiEc9+TfOJjmosaChqOqmu8uLpdBo219WbmFxaXklv1pYW9/Y3Cpu7zR1lCgODR7JSLU9pkGKEBooUEI7VsACT0LLG15kfusOlBZReIOjGLoBuw1FX3CGRuoVbRfhHjVPr4H54yMXWXJM8Zi6AcOBClIfYj3uuWoQTbxyuVcs2RV7AjpPnBkpkRnqveKH60c8CSBELpnWHceOsZsyhYJLGBfcREPM+JDdQsfQkAWgu+nkszE9NIpP+5EyFSKdqD8nUhZoPQo805kdrP96mfif10mwf95NRRgnCCGfLuonkmJEs5ioLxRwlCNDGFfC3Er5gCnG0YRZMCE4f1+eJ82TinNaqV5VS7W9WRx5sk8OyBFxyBmpkUtSJw3CyQN5Ii/k1Xq0nq03633amrNmM7vkF6zPb1SWoFw=</latexit> Read(⌧, t, deps⇢ (⌧)) <latexit sha1_base64="cflSYIzw0fH/YkOGexkZf8VeHV4=">AAAB/HicbVBNS8NAEN3Ur1q/or0IXoJFqJeSSFGPBS+CByvYD2hC2Gy37dLNJuxOxBDqX/HiQRGv/hBv/hu3bQ7a+mDg8d4MM/OCmDMFtv1tFFZW19Y3ipulre2d3T1z/6CtokQS2iIRj2Q3wIpyJmgLGHDajSXFYcBpJxhfTf3OA5WKReIe0ph6IR4KNmAEg5Z8s+wCfQRFstubSVX6rhxFp75ZsWv2DNYycXJSQTmavvnl9iOShFQA4VipnmPH4GVYAiOcTkpuomiMyRgPaU9TgUOqvGx2/MQ60UrfGkRSlwBrpv6eyHCoVBoGujPEMFKL3lT8z+slMLj0MibiBKgg80WDhFsQWdMkrD6TlABPNcFEMn2rRUZYYgI6r5IOwVl8eZm0z2rOea1+V680DvM4iugIHaMqctAFaqBr1EQtRFCKntErejOejBfj3fiYtxaMfKaM/sD4/AGTB5SY</latexit> OK(r⇢) <latexit sha1_base64="PTOecpLzB4O85xzpXII+rxpP7Sg=">AAAB6HicbVBNS8NAEJ34WetX1YvgZbEInkoiRT0WvHhswX5AG8pmO2nXbjZhdyOU0F/gxYMiXv1J3vw3btsctPXBwOO9GWbmBYng2rjut7O2vrG5tV3YKe7u7R8clo6OWzpOFcMmi0WsOgHVKLjEpuFGYCdRSKNAYDsY38389hMqzWP5YCYJ+hEdSh5yRo2VGqxfKrsVdw6ySryclCFHvV/66g1ilkYoDRNU667nJsbPqDKcCZwWe6nGhLIxHWLXUkkj1H42P3RKLqwyIGGsbElD5urviYxGWk+iwHZG1Iz0sjcT//O6qQlv/YzLJDUo2WJRmApiYjL7mgy4QmbExBLKFLe3EjaiijJjsynaELzll1dJ66riXVeqjWq5dprHUYAzOIdL8OAGanAPdWgCA4RneIU359F5cd6dj0XrmpPPnMAfOJ8/vLGMxg==</latexit> c <latexit sha1_base64="HXS4wXraOH7ncBSrRTmexHCQQ2o=">AAACEHicbVA9SwNBEN3zM8avqI1gs5iIVuFORC0FG8soRoXccextJsmSvb1jd04MR36CjX/FxkIRW0s7/42bM4VGHwzzeG+G3XlRKoVB1/10pqZnZufmSwvlxaXlldXK2vqVSTLNockTmeibiBmQQkETBUq4STWwOJJwHfVPR/71LWgjEnWJgxSCmHWV6AjO0EphZbfmI9yh4fkFYKbVsEZrfiS6PEtDX/cSqotWCytVt+4WoH+JNyZVMkYjrHz47YRnMSjkkhnT8twUg5xpFFzCsOxnBlLG+6wLLUsVi8EEeXHQkO5YpU07ibalkBbqz42cxcYM4shOxgx7ZtIbif95rQw7x0EuVJohKP79UCeTFBM6Soe2hQaOcmAJ41rYv1LeY5pxtBmWbQje5Ml/ydV+3TusH5zvV082x3GUyBbZJnvEI0fkhJyRBmkSTu7JI3kmL86D8+S8Om/fo1POeGeD/ILz/gVK6pyd</latexit> Return S ⇢ r⇢ <latexit sha1_base64="ORJSPvgllm2aIXC5cNfWwvv8TTs=">AAACIHicfVDLSgMxFM3UV62vUTeCm2ARXJUZKdZlwY3LCrYVOkPJZO60oZnMkGSEMvRT3Pgrblwoojv9GtN2FtqKhwQO59ybm3uClDOlHefTKq2srq1vlDcrW9s7u3v2/kFHJZmk0KYJT+RdQBRwJqCtmeZwl0ogccChG4yupn73HqRiibjV4xT8mAwEixgl2kh9u+EFMGAip+YNNal43r8HRFhU9u2qU3NmwMvELUgVFWj17Q8vTGgWg9CUE6V6rpNqPydSM8rBTM4UpISOyAB6hgoSg/Lz2YITfGqUEEeJNFdoPFN/duQkVmocB6YyJnqoFr2p+JfXy3R06edMpJkGQeeDooxjneBpWjhkEqjmY0MIlcz8FdMhkYRqk2nFhOAurrxMOuc196JWv6lXm0dFHGV0jE7QGXJRAzXRNWqhNqLoAT2hF/RqPVrP1pv1Pi8tWUXPIfoF6+sbDcegUA==</latexit> 8 > > > > > > > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > : <latexit sha1_base64="6gWlRswQYTqwDkbY+GQBBE0aCcQ=">AAAB+XicbVDLSgNBEJyNrxhfq14EL4NB8BR2JajHiBePEcwDkiXMznaSIbMPZnqDYcmfePGgiFf/xJt/4yTZgyYWNBRV3XR3+YkUGh3n2yqsrW9sbhW3Szu7e/sH9uFRU8ep4tDgsYxV22capIiggQIltBMFLPQltPzR3cxvjUFpEUePOEnAC9kgEn3BGRqpZ9tdhCfUPLtNzDoIpj277FScOegqcXNSJjnqPfurG8Q8DSFCLpnWHddJ0MuYQsElTEvdVEPC+IgNoGNoxELQXja/fErPjRLQfqxMRUjn6u+JjIVaT0LfdIYMh3rZm4n/eZ0U+zdeJqIkRYj4YlE/lRRjOouBBkIBRzkxhHElzK2UD5liHE1YJROCu/zyKmleVtyrSvWhWq6d5HEUySk5IxfEJdekRu5JnTQIJ2PyTF7Jm5VZL9a79bFoLVj5zDH5A+vzBxsck9g=</latexit> Applied <latexit sha1_base64="6gWlRswQYTqwDkbY+GQBBE0aCcQ=">AAAB+XicbVDLSgNBEJyNrxhfq14EL4NB8BR2JajHiBePEcwDkiXMznaSIbMPZnqDYcmfePGgiFf/xJt/4yTZgyYWNBRV3XR3+YkUGh3n2yqsrW9sbhW3Szu7e/sH9uFRU8ep4tDgsYxV22capIiggQIltBMFLPQltPzR3cxvjUFpEUePOEnAC9kgEn3BGRqpZ9tdhCfUPLtNzDoIpj277FScOegqcXNSJjnqPfurG8Q8DSFCLpnWHddJ0MuYQsElTEvdVEPC+IgNoGNoxELQXja/fErPjRLQfqxMRUjn6u+JjIVaT0LfdIYMh3rZm4n/eZ0U+zdeJqIkRYj4YlE/lRRjOouBBkIBRzkxhHElzK2UD5liHE1YJROCu/zyKmleVtyrSvWhWq6d5HEUySk5IxfEJdekRu5JnTQIJ2PyTF7Jm5VZL9a79bFoLVj5zDH5A+vzBxsck9g=</latexit> Applied <latexit sha1_base64="6gWlRswQYTqwDkbY+GQBBE0aCcQ=">AAAB+XicbVDLSgNBEJyNrxhfq14EL4NB8BR2JajHiBePEcwDkiXMznaSIbMPZnqDYcmfePGgiFf/xJt/4yTZgyYWNBRV3XR3+YkUGh3n2yqsrW9sbhW3Szu7e/sH9uFRU8ep4tDgsYxV22capIiggQIltBMFLPQltPzR3cxvjUFpEUePOEnAC9kgEn3BGRqpZ9tdhCfUPLtNzDoIpj277FScOegqcXNSJjnqPfurG8Q8DSFCLpnWHddJ0MuYQsElTEvdVEPC+IgNoGNoxELQXja/fErPjRLQfqxMRUjn6u+JjIVaT0LfdIYMh3rZm4n/eZ0U+zdeJqIkRYj4YlE/lRRjOouBBkIBRzkxhHElzK2UD5liHE1YJROCu/zyKmleVtyrSvWhWq6d5HEUySk5IxfEJdekRu5JnTQIJ2PyTF7Jm5VZL9a79bFoLVj5zDH5A+vzBxsck9g=</latexit> Applied <latexit sha1_base64="6gWlRswQYTqwDkbY+GQBBE0aCcQ=">AAAB+XicbVDLSgNBEJyNrxhfq14EL4NB8BR2JajHiBePEcwDkiXMznaSIbMPZnqDYcmfePGgiFf/xJt/4yTZgyYWNBRV3XR3+YkUGh3n2yqsrW9sbhW3Szu7e/sH9uFRU8ep4tDgsYxV22capIiggQIltBMFLPQltPzR3cxvjUFpEUePOEnAC9kgEn3BGRqpZ9tdhCfUPLtNzDoIpj277FScOegqcXNSJjnqPfurG8Q8DSFCLpnWHddJ0MuYQsElTEvdVEPC+IgNoGNoxELQXja/fErPjRLQfqxMRUjn6u+JjIVaT0LfdIYMh3rZm4n/eZ0U+zdeJqIkRYj4YlE/lRRjOouBBkIBRzkxhHElzK2UD5liHE1YJROCu/zyKmleVtyrSvWhWq6d5HEUySk5IxfEJdekRu5JnTQIJ2PyTF7Jm5VZL9a79bFoLVj5zDH5A+vzBxsck9g=</latexit> Applied <latexit sha1_base64="6gWlRswQYTqwDkbY+GQBBE0aCcQ=">AAAB+XicbVDLSgNBEJyNrxhfq14EL4NB8BR2JajHiBePEcwDkiXMznaSIbMPZnqDYcmfePGgiFf/xJt/4yTZgyYWNBRV3XR3+YkUGh3n2yqsrW9sbhW3Szu7e/sH9uFRU8ep4tDgsYxV22capIiggQIltBMFLPQltPzR3cxvjUFpEUePOEnAC9kgEn3BGRqpZ9tdhCfUPLtNzDoIpj277FScOegqcXNSJjnqPfurG8Q8DSFCLpnWHddJ0MuYQsElTEvdVEPC+IgNoGNoxELQXja/fErPjRLQfqxMRUjn6u+JjIVaT0LfdIYMh3rZm4n/eZ0U+zdeJqIkRYj4YlE/lRRjOouBBkIBRzkxhHElzK2UD5liHE1YJROCu/zyKmleVtyrSvWhWq6d5HEUySk5IxfEJdekRu5JnTQIJ2PyTF7Jm5VZL9a79bFoLVj5zDH5A+vzBxsck9g=</latexit> Applied <latexit sha1_base64="nBoCq3yKEVSWt9Z1vqxRQ0lnHXo=">AAACInicbVBNSwMxEM36WetX1YvgJVgEhVJ2pfhxq3jxWMFWoVtKNp3aYHY3JLNqWfpbvPhXvHhQ1JPgjzHd9qDVB4GX92aYmRcoKQy67qczNT0zOzefW8gvLi2vrBbW1hsmTjSHOo9lrK8CZkCKCOooUMKV0sDCQMJlcHM69C9vQRsRRxfYV9AK2XUkuoIztFK7cOwj3KPh6YlSsj/Y9ZElJYol6ocMezpMO6DMoO3rXpx5eyV6l/322oWiW3Yz0L/EG5MiGaPWLrz7nZgnIUTIJTOm6bkKWynTKLiEQd5PDCjGb9g1NC2NWAimlWYnDuiOVTq0G2v7IqSZ+rMjZaEx/TCwlcPFzaQ3FP/zmgl2j1qpiFSCEPHRoG4iKcZ0mBftCA0cZd8SxrWwu1LeY5pxtKnmbQje5Ml/SWO/7B2UK+eVYnVzHEeObJFtsks8ckiq5IzUSJ1w8kCeyAt5dR6dZ+fN+RiVTjnjng3yC87XN2JPpAc=</latexit> Apply(⌧, t, deps⇢ (⌧), w⇢) <latexit sha1_base64="FIxzeoYRG3mxAzIKL9VcA9sP9vk=">AAACEXicbVDLSgMxFM2o9VFfVTeCm2ARKpQyI6IuCyK4rGAf0Cklk962oZmHyR2xDP0FN+KPiBsXirh1585f8CtMHwutHgg5Oedebu7xIik02vanNTM7l5pfWFxKL6+srq1nNjYrOowVhzIPZahqHtMgRQBlFCihFilgvieh6vVOh371GpQWYXCJ/QgaPusEoi04QyM1MzkX4QY1T85ugA/Mi8V56nqiw+Oo6apuSNXo2m9msnbBHoH+Jc6EZIup/NXKw/1XqZn5cFshj30IkEumdd2xI2wkTKHgEgZpN9YQMd5jHagbGjAfdCMZbTSge0Zp0XaozAmQjtSfHQnzte77nqn0GXb1tDcU//PqMbZPGokIohgh4ONB7VhSDOkwHtoSCjjKviGMK2H+SnmXKcbRhJg2ITjTK/8llYOCc1Q4vHCyxW0yxiLZIbskRxxyTIrknJRImXBySx7JM3mx7qwn69V6G5fOWJOeLfIL1vs3nAmgXQ==</latexit> Exec(⌧, S ⇢ r⇢) <latexit sha1_base64="itU6cV81mUUBFeXtfmTjdhfF1fE=">AAACVXicbVFNaxRBEO0ZY4zrRzZ6Ebw0boTNZZkJQXPwkODFYwQ3CWwvQ01P7W6T7p6hu0ZdhvmTuUj+iRfBns0gmvig4fFeFVX1Oq+08pQkN1H8YOvh9qOdx4MnT5893x3uvTj3Ze0kTmWpS3eZg0etLE5JkcbLyiGYXONFfvWx8y++ovOqtF9oXeHcwNKqhZJAQcqGGr6BIr4vCL+Tl81pFaZi0Y5Fw8USjAEujCr+cK8MFwQ1F8oGB2jlTFNg5dtMuFU57rwDLjTYglPWd33gxEV7sJ8NR8kk2YDfJ2lPRqzHWTa8FkUpa4OWpAbvZ2lS0bwBR0pqbAei9liBvIIlzgK1YNDPm00qLX8blIIvSheeJb5R/+5owHi/Nnmo7O7wd71O/J83q2lxPG+UrWpCK28HLWrNqeRdxLxQDiXpdSAgnQq7crkCB5LCRwxCCOndk++T88NJ+m5y9PlwdPKqj2OHvWZv2Jil7D07YZ/YGZsyya7ZzyiK4uhH9CveirdvS+Oo73nJ/kG8+xvwn7Kl</latexit> await Applied({ | ⇠ ⌧ 2 deps⇢ (⌧) ^ t < t}) <latexit sha1_base64="MeWITrRMWDywx/M9IHi3d4zgcuk=">AAACV3icbVFNa9wwFJSdNN1uvzbtpdCL6KawuSx2KG0PPQRy6TGFbhJYLeZZfrsrIslGek66GP/J0kv+Si+tvDGlTTogGGbeIL1RXmnlKUluonhn98Hew8Gj4eMnT589H+2/OPNl7STOZKlLd5GDR60szkiRxovKIZhc43l+edL551fovCrtV9pUuDCwsmqpJFCQspGFa1DEDwThN/KyOSmNUURYtBPRcLECY4ALo4o/3CvDBUHNhbLBAVo70xRY+TYTbl1OOu+QCw224JT1qU+cuGgPD7LROJkmW/D7JO3JmPU4zUbfRVHK2qAlqcH7eZpUtGjAkZIa26GoPVYgL2GF80AtGPSLZttLy98GpeDL0oVjiW/VvxMNGO83Jg+T3R7+rteJ//PmNS0/Lhplq5rQytuLlrXmVPKuZF4oh5L0JhCQToW3crkGB5LCVwxDCendle+Ts6Np+n767svR+PhVX8eAvWZv2ISl7AM7Zp/ZKZsxyX6wn9FOtBvdRL/ivXhwOxpHfeYl+wfx/m/567Og</latexit> await Committed({ | ⇠ ⌧ 2 deps⇢ (⌧) ^ t < t}) ै ߞߜߞߞ Ÿ÷÷ +ȩɟɔȩɟŏɾǞȩȘ ߞߢ
  9. まとめ ࡄ CÚŏʾȩɯ などの一般化 ë›á プロトコルは,コマンドと依存関係に合意することで競合グラフ を構築し,複製上で競合グラフを実行することで線形化可能性を保証している.また,_ŏɯɾ Úŏʾȩɯ の高速パスを用いることでコミット遅延を最適化している. ࡄ

    +ŏƚɯŏɟ は CÚŏʾȩɯ ベースの一般化 ë›á プロトコルで,コマンドの実行タイムスタンプに合意 し,タイムスタンプの順にトランザクションを実行することで線形化可能かつ直列化可能な 分散トランザクションを実現している. ࡄ żżȩɟƇ は +ŏƚɯŏɟ ベースの分散トランザクションプロトコルで,アクセスするデータが既知 なバッチを仮定することで過度な調停を回避し,コミット遅延を最適化している.また,柔 軟な高速パスクォーラムやタイムスタンプリオーダリングバッファにより高速パスの利用率 を向上し,性能の予測可能性を改善している. ै ߞߜߞߞ Ÿ÷÷ +ȩɟɔȩɟŏɾǞȩȘ ߞߥ
  10. 参考文献 ࡫ߝ࡬ ࡟ߝࡠ ƚɯȀǞƚ ŏȒɔȩɟɾࡏ ÷Ǖƚ ɔŏɟɾࡷɾǞȒƚ ɔŏɟȀǞŏȒƚȘɾࡏ *˜ îɛŏȗɫࡒ

    *ȧȑɑʑɺࡒ ãʻɫɺࡒࡈ ߝߢ࡫ߞ࡬ࡇߝߟߟ–ߝߢߥࡈ ߝߥߥߤࡏ ࡟ߞࡠ ‰ȩȘŏɾǕŏȘ CȀȀǞɯࡏ ǞǃǕɾʶƚǞǃǕɾ ɾɟŏȘɯŏżɾǞȩȘɯ ǞȘ +ŏɯɯŏȘƇɟŏ ߞࡏߜࡏ ǕɾɾɔɯࡇࡕࡕʶʶʶࡏƇŏɾŏɯɾŏʾࡏżȩȒࡕųȀȩǃࡕȀǞǃǕɾʶƚǞǃǕɾࡷɾɟŏȘɯŏżɾǞȩȘɯࡷżŏɯɯŏȘƇɟŏࡷߞߜࡈ ߞߜߝߟࡏ ࡟ߟࡠ $ƚȘƚƇǞżɾ CȀȀǞȩɾɾ ëȒǞɾǕࡏ +CÚࡷߝߡࡇ bƚȘƚɟŏȀ ɔʕɟɔȩɯƚ ɾɟŏȘɯŏżɾǞȩȘɯࡏ ǕɾɾɔɯࡇࡕࡕżʶǞǺǞࡏŏɔŏżǕƚࡏȩɟǃࡕżȩȘ˚ʕƚȘżƚࡕʾࡕ_ßá+ʶࡈ ߞߜߞߝࡏ ै ߞߜߞߞ Ÿ÷÷ +ȩɟɔȩɟŏɾǞȩȘ ߟߜ
  11. 参考文献 ࡫ߞ࡬ ࡟ߠࡠ $ȩʾʕŏȘ Ǟࡏ 4ǞɯɾɟǞųʕɾƚƇ ɾɟŏȘɯŏżɾǞȩȘ ǞȘ Ƈŏɾŏųŏɯƚࡇ _ɟȩȒ

    CÚŏʾȩɯ ɾȩ żżȩɟƇࡏ ǕɾɾɔɯࡇࡕࡕȀǞࡷųȩʾʕŏȘࡏȒƚƇǞʕȒࡏżȩȒࡕߢƇƚߣߥߥߥŏƇߜߤƚࡈ ߞߜߞߞࡏ ࡟ߡࡠ 4Ǟƚǃȩ °Șǃŏɟȩ ŏȘƇ ‰ȩǕȘ °ʕɯɾƚɟǕȩʕɾࡏ vȘ ɯƚŏɟżǕ ȩǀ ŏȘ ʕȘƇƚɟɯɾŏȘƇŏųȀƚ żȩȘɯƚȘɯʕɯ ŏȀǃȩɟǞɾǕȒࡏ vȘ Óɛȧżࡒ ýãAœsĤ î* ࢊߣߦࡈ ɔŏǃƚɯ ߟߜߡࡵߟߝߥࡈ ߞߜߝߠࡏ ࡟ߢࡠ vʕȀǞŏȘ ›ȩɟŏɟʕ ƚɾ ŏȀࡏ ÷Ǖƚɟƚ Ǟɯ Ȓȩɟƚ żȩȘɯƚȘɯʕɯ ǞȘ CǃŏȀǞɾŏɟǞŏȘ ɔŏɟȀǞŏȒƚȘɾɯࡏ vȘ Óɛȧżࡒ ãªãÓ ࢊߣߥࡈ ɔŏǃƚ ߟߡߤ–ߟߣߞࡈ ߞߜߝߟࡏ ࡟ߣࡠ 4ŏȘǞƚȀ ÚƚȘǃ ŏȘƇ _ɟŏȘǺ 4ŏųƚǺࡏ ŏɟǃƚࡷɯżŏȀƚ ǞȘżɟƚȒƚȘɾŏȀ ɔɟȩżƚɯɯǞȘǃ ʕɯǞȘǃ ƇǞɯɾɟǞųʕɾƚƇ ɾɟŏȘɯŏżɾǞȩȘɯ ŏȘƇ ȘȩɾǞ˙żŏɾǞȩȘɯࡏ vȘ Óɛȧżࡒ ªã2sࢊߣߢࡈ ɔŏǃƚ ߞߡߝ–ߞߢߠࡈ ߞߜߝߜࡏ ै ߞߜߞߞ Ÿ÷÷ +ȩɟɔȩɟŏɾǞȩȘ ߟߝ
  12. 参考文献 ࡫ߟ࡬ ࡟ߤࡠ ‰ŏȒƚɯ +ࡏ +ȩɟųƚɾɾ ƚɾ ŏȀࡏ ëɔŏȘȘƚɟࡇ bȩȩǃȀƚ࢈ɯ

    ǃȀȩųŏȀȀʿࡷƇǞɯɾɟǞųʕɾƚƇ Ƈŏɾŏųŏɯƚࡏ vȘ Óɛȧżࡒ ªã2sࢊߣߤࡈ ɔŏǃƚ ߞߡߝ–ߞߢߠࡈ ߞߜߝߞࡏ ࡟ߥࡠ áƚųƚżżŏ ÷ŏǀɾ ƚɾ ŏȀࡏ +ȩżǺɟȩŏżǕ4$ࡇ ÷Ǖƚ ɟƚɯǞȀǞƚȘɾ ǃƚȩࡷƇǞɯɾɟǞųʕɾƚƇ ëߐ Ƈŏɾŏųŏɯƚࡏ vȘ Óɛȧżࡒ ãs`˜ª2 ࢊߤߢࡈ ɔŏǃƚ ߝߠߥߟ–ߝߡߜߥࡈ ߞߜߞߜࡏ ࡟ߝߜࡠ 4ȩȘǃʾʕ mʕŏȘǃ ƚɾ ŏȀࡏ ÷Ǟ4$ࡇ  áŏǀɾࡷųŏɯƚƇ m÷Ú Ƈŏɾŏųŏɯƚࡏ Óɛȧżࡒ ̍2$ AȗƆȧʲࡒࡈ ߝߟ࡫ߝߞ࡬ࡇߟߜߣߞ–ߟߜߤߠࡈ ߞߜߞߜࡏ ࡟ߝߝࡠ ÷ǞȒ ŒɟŏɯǺŏ ƚɾ ŏȀࡏ ›4++ࡇ ›ʕȀɾǞࡷƇŏɾŏ żƚȘɾƚɟ żȩȘɯǞɯɾƚȘżʿࡏ vȘ Óɛȧżࡒ Aʑɛȧãʻɫ ࢊߣߥࡈ ɔŏǃƚ ߝߝߟ–ߝߞߢࡈ ߞߜߝߟࡏ ै ߞߜߞߞ Ÿ÷÷ +ȩɟɔȩɟŏɾǞȩȘ ߟߞ
  13. 参考文献 ࡫ߠ࡬ ࡟ߝߞࡠ vɟƚȘƚ ĻǕŏȘǃ ƚɾ ŏȀࡏ $ʕǞȀƇǞȘǃ żȩȘɯǞɯɾƚȘɾ ɾɟŏȘɯŏżɾǞȩȘɯ

    ʶǞɾǕ ǞȘżȩȘɯǞɯɾƚȘɾ ɟƚɔȀǞżŏɾǞȩȘࡏ vȘ Óɛȧżࡒ ãªãÓ ࢊߣߧࡈ ɔŏǃƚ ߞߢߟ–ߞߣߤࡈ ߞߜߝߡࡏ ࡟ߝߟࡠ ȀƚʾŏȘƇƚɟ ÷ǕȩȒɯȩȘ ƚɾ ŏȀࡏ +ŏȀʲǞȘࡇ _ŏɯɾ ƇǞɯɾɟǞųʕɾƚƇ ɾɟŏȘɯŏżɾǞȩȘɯ ǀȩɟ ɔŏɟɾǞɾǞȩȘƚƇ Ƈŏɾŏųŏɯƚ ɯʿɯɾƚȒɯࡏ vȘ Óɛȧżࡒ ãs`˜ª2 ࢊߣߤࡈ ɔŏǃƚ ߝ–ߝߞࡈ ߞߜߝߞࡏ ࡟ߝߠࡠ ëǕʕŏǞ ›ʕ ƚɾ ŏȀࡏ +ȩȘɯȩȀǞƇŏɾǞȘǃ żȩȘżʕɟɟƚȘżʿ żȩȘɾɟȩȀ ŏȘƇ żȩȘɯƚȘɯʕɯ ǀȩɟ żȩȒȒǞɾɯ ʕȘƇƚɟ żȩȘ˚Ǟżɾɯࡏ vȘ Óɛȧżࡒ ªã2s ߣߨࡈ ɔŏǃƚɯ ߡߝߣࡵߡߟߞࡈ ߞߜߝߢࡏ ࡟ߝߡࡠ ģǞɾȩɟ CȘƚɯ ƚɾ ŏȀࡏ Cǀ˙żǞƚȘɾ ɟƚɔȀǞżŏɾǞȩȘ ʲǞŏ ɾǞȒƚɯɾŏȒɔ ɯɾŏųǞȀǞɾʿࡏ vȘ Óɛȧżࡒ Aʑɛȧãʻɫ ࢊߤߣࡈ ɔŏǃƚ ߝߣߤ–ߝߥߟࡈ ߞߜߞߝࡏ ै ߞߜߞߞ Ÿ÷÷ +ȩɟɔȩɟŏɾǞȩȘ ߟߟ
  14. 参考文献 ࡫ߡ࡬ ࡟ߝߢࡠ ƚɯȀǞƚ ŏȒɔȩɟɾࡏ _ŏɯɾ Úŏʾȩɯࡏ 2ǝɫɺɛǝųࡒ *ȧȑɑʑɺࡒࡈ ߝߥ࡫ߞ࡬ࡇߣߥ–ߝߜߟࡈ

    ߞߜߜߢࡏ ࡟ߝߣࡠ $ŏȀŏDzǞ ɟʕȘ ƚɾ ŏȀࡏ ëɔƚƚƇǞȘǃ ʕɔ żȩȘɯƚȘɯʕɯ ųʿ żǕŏɯǞȘǃ ǀŏɯɾ ƇƚżǞɯǞȩȘɯࡏ vȘ Óɛȧżࡒ 2㜠ࢊߣߩࡈ ɔŏǃƚɯ ߠߥࡵߢߜࡈ ߞߜߝߣࡏ ࡟ߝߤࡠ ›ǞżǕŏƚȀ ĦǕǞɾɾŏǺƚɟ ƚɾ ŏȀࡏ  bƚȘƚɟŏȀǞˌƚƇ ›ʕȀɾǞࡷƚŏƇƚɟ ëɾŏɾƚ ›ŏżǕǞȘƚ áƚɔȀǞżŏɾǞȩȘ ÷ʕɾȩɟǞŏȀࡏ †ȧʑɛȗŏǿ ȧƿ ãʻɫɺƙȑɫ Úƙɫƙŏɛżǔࡈ ߝ࡫ߝ࡬ࡈ ߞߜߞߝࡏ ࡟ߝߥࡠ mƚǞƇǞ mȩʶŏɟƇ ƚɾ ŏȀࡏ _ŏɯɾ _ȀƚʾǞųȀƚ Úŏʾȩɯࡇ áƚȀŏʾǞȘǃ ɛʕȩɟʕȒ ǞȘɾƚɟɯƚżɾǞȩȘ ǀȩɟ _ŏɯɾ Úŏʾȩɯࡏ vȘ Óɛȧżࡒ s*2*œ ࢊߤߣࡈ ɔŏǃƚ ߝߤߢ–ߝߥߜࡈ ߞߜߞߝࡏ ै ߞߜߞߞ Ÿ÷÷ +ȩɟɔȩɟŏɾǞȩȘ ߟߠ
  15. 参考文献 ࡫ߢ࡬ ࡟ߞߜࡠ Úƚɾƚɟ $ŏǞȀǞɯ ƚɾ ŏȀࡏ mǞǃǕȀʿ ŏʲŏǞȀŏųȀƚ ɾɟŏȘɯŏżɾǞȩȘɯࡇ

    ģǞɟɾʕƚɯ ŏȘƇ ȀǞȒǞɾŏɾǞȩȘɯࡏ Óɛȧżࡒ ̍2$ AȗƆȧʲࡒࡈ ߣ࡫ߟ࡬ࡇߝߤߝ–ߝߥߞࡈ ߞߜߝߟࡏ ࡟ߞߝࡠ áȩųƚɟɾ ŒŏȀȀȒŏȘ ƚɾ ŏȀࡏ mࡷëɾȩɟƚࡇ  ǕǞǃǕࡷɔƚɟǀȩɟȒŏȘżƚࡈ ƇǞɯɾɟǞųʕɾƚƇ ȒŏǞȘ ȒƚȒȩɟʿ ɾɟŏȘɯŏżɾǞȩȘ ɔɟȩżƚɯɯǞȘǃ ɯʿɯɾƚȒࡏ Óɛȧżࡒ ̍2$ AȗƆȧʲࡒࡈ ߝ࡫ߞ࡬ࡇߝߠߥߢ–ߝߠߥߥࡈ ŏʕǃ ߞߜߜߤࡏ ࡟ߞߞࡠ ëŏȘƇƚƚɔ ëࡏ ŒʕȀǺŏɟȘǞ ƚɾ ŏȀࡏ ȩǃǞżŏȀ ɔǕʿɯǞżŏȀ żȀȩżǺɯࡏ vȘ Óɛǝȗżǝɑǿƙɫ ȧƿ 2ǝɫɺɛǝųʑɺƙƆ ãʻɫɺƙȑɫࡈ ɔŏǃƚɯ ߝߣࡵߟߞࡈ ߞߜߝߠࡏ ै ߞߜߞߞ Ÿ÷÷ +ȩɟɔȩɟŏɾǞȩȘ ߟߡ