<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

保持任務關鍵的確定性DBMS準時

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Andrei Gorine ? 2022-07-04 09:49 ? 次閱讀

開源和商業數據庫管理系統 (DBMS) 已在嵌入式系統中使用了 20 多年。在大多數情況下,開發人員甚至不會爭論是否為嵌入式系統購買或構建自己的 DBMS。該組件幾乎總是被購買。

然而,嵌入式系統空間的一個子集仍然禁止商業供應商使用,包括某些醫療系統、輻射監測、飛機導航、航空電子設備、飛行員輔助,以及最近的自動駕駛??偠灾?,它們可以被稱為具有硬實時約束的任務關鍵型或安全關鍵型系統,其中系統故障可能會造成傷害。

許多任務關鍵型軟件團隊正在尋找商業現貨 (COTS) 軟件以加快開發速度。嵌入式 DBMS 可以提供幫助,但前提是它具有確定性、可預測性和可控性。用于關鍵任務系統的確定性 DBMS 架構應提供具有時間有效性的 ACID(原子性、一致性、隔離性、持久性)合規性。

不是每個 DBMS 都強制執行 ACID 屬性嗎?符合 ACID 的數據庫很常見,但其架構是針對事務吞吐量而非確定性的。一致性是最重要的屬性;事務應該只將數據庫從一種有效狀態更改為另一種有效狀態。在實時系統中,事務中的一組原子語句應該成功提交,或者應該全部中止,但不應在截止日期之后進行?!斑t到”會帶來不一致的狀態,帶來暫時無效的數據和可能的可怕后果。

一致性的關鍵時間斷言

確保所有條件下的內部數據庫一致性對于時間有效性至關重要。嵌入式數據庫在執行效率方面提供了一些改進,但確定性 DBMS 需要更多的架構步驟才能保持準時。

首先,應該使用悲觀并發控制。它在授予一項任務訪問權限之前鎖定全部或部分數據庫,從而減少了樂觀模型中復制的不確定開銷。只讀 (RO) 事務可以并行發生,而讀寫 (RW) 事務具有獨占訪問權限,從而減少了用于鎖仲裁和死鎖預防的資源。

接下來,一個關鍵的時間斷言說明了工作量和在截止日期前回滾:

無論事務復雜性如何,將任何修改撤銷到事務中的任何點的時間都不能超過應用這些修改的時間。

pYYBAGLCR0OAVQSEAAB0Uf8qCsM873.png

RO事務有索引查找和游標移動操作;回滾以相等的間隔撤消內部計數器的任何遞增或遞減。

更簡單的 RW 事務很容易回滾。創建對象會根據對象大小從空閑內存池中分配頁面;反轉只是將這些頁面返回到池中。其他交易根本不需要沖銷。刪除一個對象會將其標記為在原子操作中將其刪除,因此如果事務中止,則不會發生提交時的刪除。在索引中添加或刪除對象具有樹重新平衡或哈希重新分配,它們僅在提交時生效并且不需要反轉。

更新對象看起來更復雜,但結果證明是一種有效的操作。事務第一次更新對象時,分配一個臨時對象,然后將原始對象復制到臨時對象。使用已經創建的副本,后續更新會更快?;貪L以相反的順序從副本中重新創建原始對象,然后釋放分配的內存頁,對象的回滾時間與對該對象的更新次數無關。

根據實時截止日期驗證交易

確保每個事務都安全地提交或中止后,接下來要安排事務流?;貞洷^并發;RW 事務必須按順序執行,而 RO 事務可以并行執行。例如,McObject 的 eXtremeDB/rt 中的動態、時間感知的最早期限優先 (EDF) 調度根據絕對期限為事務分配優先級。

事務管理器代碼中的驗證點指示事務語句的進展程度。如果事務在提交之前到達控制點(不再保證數據庫回滾的時間),那么“事務中斷”錯誤狀態將返回給應用程序。事務管理器將數據庫恢復到事務開始之前存在的一致狀態。

在 eXtremeDB/rt 中,應用程序可以使用兩種驗證方法:傳遞給數據庫運行時的應用程序回調,或異步事件處理程序。以下示例將控制點設置為截止時間間隔的一半,可以調整。

回調方法偽代碼

如果系統定時器硬件看門狗定時器等異步原語不可用,則可以使用回調方法。操作系統在獲取系統時間方面存在細微差別,但代碼流程如以下偽代碼。首先注冊一個回調函數:

poYBAGLCR0yAHCLMAABWZczgpxA596.png

接下來,創建回調,輪詢返回“OK”或“interrupted”狀態。

pYYBAGLCR1OAEiS6AAD8eTjjdvM875.png

然后,啟動實時事務,數據庫運行時在原子操作中定期驗證“中斷”標志。

poYBAGLCR1qAFUqIAABwFMaHePg652.png

C 中的計時器方法代碼片段

大多數關鍵任務系統都有硬件計時器;使用它們可以提供更高的精度。C 語言中的三個常用代碼片段設置了計時器變量、實時事務和初始化例程。一、定時器變量:

poYBAGLCR3eAApYuAADFXWzOFrk533.png

接下來是實時交易:

pYYBAGLCR32AOlT0AAGJy4mmrJg379.png

還有一個簡單的初始化程序:

pYYBAGLCR4aAZuQ1AAAwQpfH7yY311.png

硬件計時器設施因操作系統而異。例如,在 VxWorks 中,任何任務都可以創建一個看門狗定時器,并在指定的延遲后使用它在系統時鐘 ISR 的上下文中運行指定的例程。

poYBAGLCR4yAIayXAADUJL3hFZI590.png

展望更多可控性

替代傳統的并發控制和調度方法有助于 eXtremeDB/rt 實現關鍵任務系統所需的確定性、可預測的行為。未來的研究旨在提高 EDF 調度程序的可控性。例如,事務上的顯式優先級參數將有助于排序和搶占。單個事務也可以帶有回滾時間參數,而不是默認的deadline/2。

實現從嵌入式數據庫到確定性 DBMS 的飛躍,確保數據在時間上有效,從而擴展了潛在的用例。掌握這種新的 COTS 確定性 DBMS 技術的任務關鍵型軟件團隊可以在開發計劃、風險降低和應用程序靈活性方面獲得優勢。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5001

    文章

    18394

    瀏覽量

    291041
  • 定時器
    +關注

    關注

    23

    文章

    3154

    瀏覽量

    112376
  • 計時器
    +關注

    關注

    1

    文章

    396

    瀏覽量

    32198
收藏 人收藏

    評論

    相關推薦

    ETAS推出Time-Triggered Scheduling (TTS)的確定性調度解決方案

    在2024年2月26日,ETAS推出了名為“Time-Triggered Scheduling (TTS)”的確定性調度解決方案。
    的頭像 發表于 04-25 16:56 ?411次閱讀
    ETAS推出Time-Triggered Scheduling (TTS)<b class='flag-5'>的確定性</b>調度解決方案

    什么是嵌入式實時系統的確定性?簡析EDMS中的確定性

    ETAS Deterministic Middleware Solution點擊跳轉(EDMS,前身為AOS) 確定性中間件解決方案,是一個中間件框架,旨在面向汽車領域內應用程序的獨特挑戰和需求
    的頭像 發表于 04-15 11:22 ?414次閱讀
    什么是嵌入式實時系統<b class='flag-5'>的確定性</b>?簡析EDMS中<b class='flag-5'>的確定性</b>

    海信馬曉龍:堅定長期主義的戰略定力,激發“確定性”增長的內生動力

    近年來,在內外因疊加影響下,智慧交通行業充滿了變數。當不確定性成為常態,如何驅散迷霧走向增長?這是每一個智慧交通企業必須解決的難題。 選擇用什么答案來面對這個難題,決定了企業迎戰風浪的命運,海信智慧
    的頭像 發表于 03-21 11:38 ?111次閱讀
    海信馬曉龍:堅定長期主義的戰略定力,激發“<b class='flag-5'>確定性</b>”增長的內生動力

    華玉通軟宣布“海鷗”確定性調度中間件(SEAGULL DS)正式商用

    今天,華玉通軟(下稱“華玉”)宣布“海鷗”確定性調度中間件(SEAGULL DS)正式商用。
    的頭像 發表于 03-17 11:01 ?306次閱讀
    華玉通軟宣布“海鷗”<b class='flag-5'>確定性</b>調度中間件(SEAGULL DS)正式商用

    確定性網絡技術如何提高網絡的可靠性?

    確定性網絡技術通過采用時鐘同步、流同步和時序一致性、帶寬保障和流量控制、數據包復制與排除等機制,提高網絡的可靠性,適用于工業自動化、車輛網絡等對通信質量有嚴格要求的領域。TSN技術的引入為確定性網絡應用的發展注入了強大推動力,為各個領域的智能化和自動化提供了堅實的網絡基礎
    的頭像 發表于 01-12 16:50 ?635次閱讀
    <b class='flag-5'>確定性</b>網絡技術如何提高網絡的可靠性?

    三星電子急簽WOLED訂單:為應對LCD供應不確定性

     盡管去年三星電子從LG Display購買的W-OLED電視面板數量有限,但隨著市場不確定性的上升和供應鏈問題的加劇,三星電子正在調整策略,尋求更多元化的供應來源。
    的頭像 發表于 01-03 15:10 ?597次閱讀

    消除熱電偶溫度測量中的不確定性(使用AD594/AD595)

    電子發燒友網站提供《消除熱電偶溫度測量中的不確定性(使用AD594/AD595).pdf》資料免費下載
    發表于 11-23 11:34 ?0次下載
    消除熱電偶溫度測量中的不<b class='flag-5'>確定性</b>(使用AD594/AD595)

    烏卡時代確定性稀缺,企業多云戰略最需看中什么?

    雙十一剛過,云服務商宕機導致大面積故障的新聞就引爆全網,再一次引發全網關于云計算安全可靠的大討論。 在一個充滿著復雜性、不穩定性和不確定性的烏卡時代,云故障頻發似乎已發展成一種“常態”,讓企業對于
    的頭像 發表于 11-23 10:28 ?132次閱讀

    大規模確定性網絡技術分析與展望

    確定性網絡可以分為不同的技術路線,不同的技術路線往往從不同的層次切入來構建確定性網絡,借助分層技術圖譜可以清晰、快速地理清各個技術路線相關技術間的關系,其中不同技術工作或適應在不同的網絡層次和網絡
    的頭像 發表于 11-06 16:26 ?957次閱讀
    大規模<b class='flag-5'>確定性</b>網絡技術分析與展望

    行業高速成長確定性較高,歐萊新材沖刺科創板IPO把握機遇

    電子產品生產國、出口國和消費國,也是全球最大的集成電路半導體消費國和進口國,在最終下游眾多生產及消費領域的需求驅動了我國高性能濺射靶材行業快速增長。因此,未來高性能濺射靶材行業高速成長的確定性較高?;谛袠I廣闊的發
    的頭像 發表于 10-26 12:07 ?281次閱讀

    如何實施時間敏感型網絡以確保確定性通信

    作者:Jeff Shepard 確定性通信在各種應用中至關重要,如自主機器人和其他工業 4.0 系統、5G 通信、汽車高級駕駛輔助系統 (ADAS) 以及實時流服務。IEEE 802以太網標準(即時
    的頭像 發表于 10-03 14:51 ?699次閱讀
    如何實施時間敏感型網絡以確保<b class='flag-5'>確定性</b>通信

    簡化超高速數字系統中確定性延遲的設計

    電子發燒友網站提供《簡化超高速數字系統中確定性延遲的設計.pdf》資料免費下載
    發表于 09-14 09:27 ?0次下載
    簡化超高速數字系統中<b class='flag-5'>確定性</b>延遲的設計

    Cortex-M0技術參考手冊分享

    增加休眠模式時間·硬件倍增器·針對時間關鍵型應用的確定性、高性能中斷處理·串行線調試減少了調試所需的引腳數。
    發表于 08-17 06:02

    確定性時代下的新投資范式

    對此,廣發證券在研報中指出,全球新投資范式的表象是擁抱“確定性資產”,這種確定性一方面體現為低估低波穩定分紅永續經營的確定性,另一方面是新科技創新周期的遠景確定性,本質都是對
    的頭像 發表于 07-10 10:51 ?510次閱讀
    不<b class='flag-5'>確定性</b>時代下的新投資范式

    芯片Signoff是通過什么機制去控制偏差帶來的不確定性風險的?

    在芯片設計、制造、應用等各個環節都不可避免地會引入偏差,其直接造成的影響是晶體管、電阻電容以及繞線等電特性的不確定性。
    的頭像 發表于 06-28 16:35 ?1725次閱讀
    芯片Signoff是通過什么機制去控制偏差帶來的不<b class='flag-5'>確定性</b>風險的?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>