SWIFT:即環球銀行電信協會SWIFT(Society for Worldwide Interbank Financial Telecommunication)是國際上最重要的金融通信網絡之一。 通過該系統,可在全球範圍內把原本互不往來的金融機構全部串聯起來,進行訊息交換。 該系統主要提供通信服務,專為其成員金融機構傳送同匯兌有關的各種信息。 成員行接收到這種訊息後,將其轉送到相應的資金調撥系統或清算系統內,再由後者進行各種必要的資金轉帳處理。
ABA:American Bankers Association 美國銀行家協會是 ABA 的縮寫,是美國聯邦儲備銀行的清算系統。
Beneficiary's Bank 則是指收款人的開戶銀行,這會在填銀行業務時會遇到
I Like It !
Thursday, March 25, 2010
Wednesday, March 24, 2010
Saturday, March 6, 2010
32-bit and 64-bit Windows: frequently asked questions
What is the difference between 32-bit and 64-bit versions of Windows?
The terms 32-bit and 64-bit refer to the way a computer's processor (also called a CPU), handles information. The 64-bit version of Windows handles large amounts of random access memory (RAM) more effectively than a 32-bit system. For more details, go to A description of the differences between 32-bit versions of Windows Vista and 64-bit versions of Windows Vista online.
Can I run 32-bit programs on a 64-bit computer?
Most programs designed for the 32-bit version of Windows will work on the 64-bit version of Windows. Notable exceptions are many antivirus programs.
Device drivers designed for 32-bit versions of Windows won't work on computers running a 64-bit version of Windows. If you're trying to install a printer or other device that only has 32-bit drivers available, it won't work correctly on a 64-bit version of Windows. If you are unsure whether there is a 64-bit driver available for your device, go online to the Windows Vista Compatibility Center.
Can I run 64-bit programs on a 32-bit computer?
If the program is specifically designed for the 64-bit version of Windows, it won't work on the 32-bit version of Windows. (However, most programs designed for the 32-bit version of Windows will work on the 64-bit version of Windows.)
Device drivers designed for the 64-bit version of Windows won't work on computers running a 32-bit version of Windows. To learn how to check for drivers, see Update a driver for hardware that isn't working properly or go to the device manufacturer's website.
The terms 32-bit and 64-bit refer to the way a computer's processor (also called a CPU), handles information. The 64-bit version of Windows handles large amounts of random access memory (RAM) more effectively than a 32-bit system. For more details, go to A description of the differences between 32-bit versions of Windows Vista and 64-bit versions of Windows Vista online.
Can I run 32-bit programs on a 64-bit computer?
Most programs designed for the 32-bit version of Windows will work on the 64-bit version of Windows. Notable exceptions are many antivirus programs.
Device drivers designed for 32-bit versions of Windows won't work on computers running a 64-bit version of Windows. If you're trying to install a printer or other device that only has 32-bit drivers available, it won't work correctly on a 64-bit version of Windows. If you are unsure whether there is a 64-bit driver available for your device, go online to the Windows Vista Compatibility Center.
Can I run 64-bit programs on a 32-bit computer?
If the program is specifically designed for the 64-bit version of Windows, it won't work on the 32-bit version of Windows. (However, most programs designed for the 32-bit version of Windows will work on the 64-bit version of Windows.)
Device drivers designed for the 64-bit version of Windows won't work on computers running a 32-bit version of Windows. To learn how to check for drivers, see Update a driver for hardware that isn't working properly or go to the device manufacturer's website.
Friday, March 5, 2010
俄開發飛碟型航空器 載重量600噸可運1.1萬人
3月5日消息,據國外媒體報道,日前,在烏里揚諾夫斯克召開的州議會主席團有關研制創新運輸工具的會議上,LocomoSky公司向俄羅斯總統梅德韋傑夫遞交了可運載600噸貨物的空氣靜力型航空器“Locomoskaimer”的開發計劃。
專家一致認為,這個重型貨運飛行器將會在俄羅斯工業部門贏得普遍歡迎,也是在發展交通不便的地區的經濟過程中,降低運輸、建造成本的眾多舉措之一,這些地區主要擁有石油天然氣資源。烏里揚諾夫斯克州州長謝爾蓋\-莫洛佐夫(Sergey Morozov)在談到這一計劃時表示,LocomoSky公司的空氣靜力型航空器將在工業區“Zavolzhye”生產。
梅德韋傑夫為進一步了解“Locomoskyner”的項目前景,向參加會議的LocomoSky公司代表詢問了新一代飛行器的技術與經濟特征。LocomoSky公司董事會主席基里爾-萊亞茨(Kirill Lyats)在他的報告中詳細介紹了此類航天器。萊亞茨也是這個創新項目的負責人。
據他介紹,載重量600噸的Locomoskaimer航空器,造價約為1.2億美元,相當于一架安-124-100重型運輸機的價格,但是,其貨運能力卻是重型安-124-100型運輸機的四倍。此外,Locomoskaimer航空器還能在不需要地面基礎設施的支持下,將貨物運送至世界任何一個角落。
梅德韋傑夫意識到基于Locomoskyner航空器的空中運輸系統開發工作的重要性。他說:“這個‘飛碟’的外形令人印象深刻,這些系統總共投入數十億美元,僅僅相當于技術先進的運輸飛機的成本。但是,這並不意味著應該忽視這一指導方向。在這個方面,我支持你們的想法。這是創新,老實說,它們非常重要。”
莫洛佐夫在談到Locomoskyner航空器的實用性時,提出了在俄羅斯建立運輸飛船創業園的想法。這一提議得到了梅德韋傑夫的支持,他代表俄羅斯聯邦政府簽署了相關法令。以下是LocomoSky公司構想的各種型號Locomoskyner航空器的未來用途。
航空地理物理學勘探
Locomoskayner航空器可用于航空地理物理學勘探,負載能力達1000公斤。它由空中機組人員駕駛,機組由二至八人組成。空氣靜力學航空地球物理學環境令Locomoskayner航空器可以使用最先進的重量分析和電磁設備,對地球內部、海洋大陸架進行航空地球物理雪勘探。利用這種 locomoskayner航空器,可以使航空物探數據的精確性是原來的數倍,與此同時,成本卻是原來的二分之一或四分之一。
貨運以及客貨兩用平台
載重量分別為40噸、60噸、120噸、240噸和600噸的locomoskayner航空器,能幫助解決將大宗超大尺寸貨物運送至偏遠和交通不便地區的問題。飛行器確實不需要地面機構的幫助。它們可以在不使用絞車等設備的情況下在開闊地帶著陸。由于目前的貨物集裝箱類型多樣,借助 locomoskayner航空器就能將貨物運送至鐵路平台、公路拖車、載駁船上面。
通過包裝和借助傳動裝置等工具的傳統方法,locomoskayner航空器還能攜帶模塊化設備(如生產模塊、家用組件、鑽機、挖掘機等)以及加工後的幹燥和液體產品,如煤炭、合成油、甲醇等。一架載重量為600噸的lokomoskayner航空器,貨運能力相當于整列火車。但是,與火車形成鮮明對比的是,locomoskayner航空器可以攜帶超大尺寸貨物,還能被改裝成客貨兩用工具,一次能運輸270至1.1萬人,包括從受災地區疏散人群。
監視與控制
載重量為0.5至1.5噸的Locomoskayner航空器可用于監視和控制。這種型號的Locomoskayner航空器可由一人控制,在有指示標志的道路上進行自動巡邏。它們可以利用掃描設備(包括紅外線和超聲波操作模式),監控目標地區的狀態,如電力傳輸網、天然氣、石油等產品的管道,工業區、特殊目標等。
專家一致認為,這個重型貨運飛行器將會在俄羅斯工業部門贏得普遍歡迎,也是在發展交通不便的地區的經濟過程中,降低運輸、建造成本的眾多舉措之一,這些地區主要擁有石油天然氣資源。烏里揚諾夫斯克州州長謝爾蓋\-莫洛佐夫(Sergey Morozov)在談到這一計劃時表示,LocomoSky公司的空氣靜力型航空器將在工業區“Zavolzhye”生產。
梅德韋傑夫為進一步了解“Locomoskyner”的項目前景,向參加會議的LocomoSky公司代表詢問了新一代飛行器的技術與經濟特征。LocomoSky公司董事會主席基里爾-萊亞茨(Kirill Lyats)在他的報告中詳細介紹了此類航天器。萊亞茨也是這個創新項目的負責人。
據他介紹,載重量600噸的Locomoskaimer航空器,造價約為1.2億美元,相當于一架安-124-100重型運輸機的價格,但是,其貨運能力卻是重型安-124-100型運輸機的四倍。此外,Locomoskaimer航空器還能在不需要地面基礎設施的支持下,將貨物運送至世界任何一個角落。
梅德韋傑夫意識到基于Locomoskyner航空器的空中運輸系統開發工作的重要性。他說:“這個‘飛碟’的外形令人印象深刻,這些系統總共投入數十億美元,僅僅相當于技術先進的運輸飛機的成本。但是,這並不意味著應該忽視這一指導方向。在這個方面,我支持你們的想法。這是創新,老實說,它們非常重要。”
莫洛佐夫在談到Locomoskyner航空器的實用性時,提出了在俄羅斯建立運輸飛船創業園的想法。這一提議得到了梅德韋傑夫的支持,他代表俄羅斯聯邦政府簽署了相關法令。以下是LocomoSky公司構想的各種型號Locomoskyner航空器的未來用途。
航空地理物理學勘探
Locomoskayner航空器可用于航空地理物理學勘探,負載能力達1000公斤。它由空中機組人員駕駛,機組由二至八人組成。空氣靜力學航空地球物理學環境令Locomoskayner航空器可以使用最先進的重量分析和電磁設備,對地球內部、海洋大陸架進行航空地球物理雪勘探。利用這種 locomoskayner航空器,可以使航空物探數據的精確性是原來的數倍,與此同時,成本卻是原來的二分之一或四分之一。
貨運以及客貨兩用平台
載重量分別為40噸、60噸、120噸、240噸和600噸的locomoskayner航空器,能幫助解決將大宗超大尺寸貨物運送至偏遠和交通不便地區的問題。飛行器確實不需要地面機構的幫助。它們可以在不使用絞車等設備的情況下在開闊地帶著陸。由于目前的貨物集裝箱類型多樣,借助 locomoskayner航空器就能將貨物運送至鐵路平台、公路拖車、載駁船上面。
通過包裝和借助傳動裝置等工具的傳統方法,locomoskayner航空器還能攜帶模塊化設備(如生產模塊、家用組件、鑽機、挖掘機等)以及加工後的幹燥和液體產品,如煤炭、合成油、甲醇等。一架載重量為600噸的lokomoskayner航空器,貨運能力相當于整列火車。但是,與火車形成鮮明對比的是,locomoskayner航空器可以攜帶超大尺寸貨物,還能被改裝成客貨兩用工具,一次能運輸270至1.1萬人,包括從受災地區疏散人群。
監視與控制
載重量為0.5至1.5噸的Locomoskayner航空器可用于監視和控制。這種型號的Locomoskayner航空器可由一人控制,在有指示標志的道路上進行自動巡邏。它們可以利用掃描設備(包括紅外線和超聲波操作模式),監控目標地區的狀態,如電力傳輸網、天然氣、石油等產品的管道,工業區、特殊目標等。
Intel C++ STM Compiler Prototype 3.0 Available for Free Download
Intel has made available for free download Prototype Edition 3.0 of the Intel C++ STM Compiler. (STM is short for "Software Transactional Memory".)
The Transactional Memory C++ language constructs that are included open the door for users to exercise the new language constructs for parallel programming, understand the transaction memory programming model, and provide feedback on the usefulness of these extensions with Intel C++ STM Compiler Prototype Edition. This posting includes the Intel C++ STM Compiler Prototype Edition 2.0 and runtime libraries for Intel transactional memory language construct extensions.
Atomic blocks
The tm atomic statement defines a basic atomic block,
similarly to the atomic construct previously defined in the
literature [2, 22] and introduced as a C language pragma in
[46]:
__tm_atomic {
// block of arbitrary C/C++ statements
}
The TM system executes atomic blocks as transactions
and isolates concurrently executing transactions from each
other with the net effect that all the operations in one transaction
appear to complete either before or after all the operations
in any other transaction.
Within each atomic block, the compiler instruments each
shared-memory access so that its execution is delegated to
the TM runtime. The TM runtime tracks all transactional accesses
and detects conflicting accesses among concurrently
executing transactions. Two transactions conflict if they both
access the same memory location at the same time and at
least one of them writes to that location. On a potential conflict,
the TM runtime transparently rolls back the side effects
of one of the conflicting transactions and re-executes it until
it succeeds without conflicts.
Atomic blocks can contain arbitrary code of all regular
C/C++ statements, including direct and indirect function
calls, and virtual function calls. This includes calls to precompiled
libraries (i.e., code that has not been compiled by
the transactional compiler) and those that perform arbitrary
I/O operations. Since the TM runtime cannot track the accesses
inside precompiled code or roll back I/O operations,
calling into such code inside a transaction causes the runtime
to serialize execution of the transaction with respect to
other transactions – no other transactions are allowed to be
in-flight concurrently with the serial one. Section 4 describes
the details of this serial execution mode.
Abort statements
The tm abort statement (a user abort) allows the programmer
to roll back an atomic block explicitly. This statement
must appear in the lexical scope of an atomic block.
It rolls back all side effects of the atomic block that statically
encloses it and transfers control to the statement immediately
following the block. It ends the transaction if the
enclosing atomic block is the outermost atomic block.
Because the runtime cannot log the side effects of precompiled
functions, the tm abort statement can execute
only if the innermost atomic block containing it has not
called a precompiled function (unless that function is a
tm pure function as described in Section 2.4.2). A runtime
error will occur if an atomic block executes a user abort after
it has called a precompiled function:
__tm_atomic {
print(‘‘HelloWorld!’’);
__tm_abort; // error (runtime failure)
}
This does not preclude calling a precompiled function in
an atomic block that is at an outer dynamic nesting level
relative to the block containing the abort statement:
__tm_atomic {
print(‘‘HelloWorld!’’);
__tm_atomic {
__tm_abort; // OK
}
}
Nested atomic blocks have closed nesting semantics [37],
which means that the side effects of a nested transaction
commit become visible only when the dynamically outermost
transaction commits. Abort statements allow a programmer
to roll back a transaction partially by aborting the
innermost nested atomic block. The compiler and runtime,
therefore, may not flatten those nested atomic blocks that
contain user abort statements.
Single lock semantics
Atomic blocks provide single lock atomicity (SLA) semantics
[34]: A program behaves as if a single global lock guards
each atomic block. This guarantees that programs that are
race free under a single global lock will execute correctly
under transactional execution. These semantics support the
privatization and race free publication patterns [34]. A trivial
implementation of atomic blocks can use a single global
lock to implement isolation (though such an implementation
must still perform undo logging to support abort statements).
In fact the serial execution mode (which supports calling precompiled
binaries) falls back to using a single global lock to
implement atomic blocks.
Consistent with the emerging C/C++ memory model
specification [8], SLA semantics provides no guarantees for
programs containing data races. In the presence of data races
between transactions and non-transactional code, code executing
outside a transaction may see speculative or intermediate
values produced by a transaction, and it may violate
the isolation of a transaction by writing to memory locations
accessed inside a transaction.
To support SLA semantics correctly, the STM implementation
must guarantee several important safety properties,
namely privatization safety, granular safety, and observable
consistency[34]. These safety properties ensure that code
that is race free under a single global lock remains race free
under transactional execution; that is, they ensure that the
STM implementation does not introduce a data race into a
program that is otherwise race free under a single lock. Most
prior STM systems did not properly maintain these properties
and thus cannot be used to implement single global lock
semantics for C/C++ atomic blocks.
The Transactional Memory C++ language constructs that are included open the door for users to exercise the new language constructs for parallel programming, understand the transaction memory programming model, and provide feedback on the usefulness of these extensions with Intel C++ STM Compiler Prototype Edition. This posting includes the Intel C++ STM Compiler Prototype Edition 2.0 and runtime libraries for Intel transactional memory language construct extensions.
Atomic blocks
The tm atomic statement defines a basic atomic block,
similarly to the atomic construct previously defined in the
literature [2, 22] and introduced as a C language pragma in
[46]:
__tm_atomic {
// block of arbitrary C/C++ statements
}
The TM system executes atomic blocks as transactions
and isolates concurrently executing transactions from each
other with the net effect that all the operations in one transaction
appear to complete either before or after all the operations
in any other transaction.
Within each atomic block, the compiler instruments each
shared-memory access so that its execution is delegated to
the TM runtime. The TM runtime tracks all transactional accesses
and detects conflicting accesses among concurrently
executing transactions. Two transactions conflict if they both
access the same memory location at the same time and at
least one of them writes to that location. On a potential conflict,
the TM runtime transparently rolls back the side effects
of one of the conflicting transactions and re-executes it until
it succeeds without conflicts.
Atomic blocks can contain arbitrary code of all regular
C/C++ statements, including direct and indirect function
calls, and virtual function calls. This includes calls to precompiled
libraries (i.e., code that has not been compiled by
the transactional compiler) and those that perform arbitrary
I/O operations. Since the TM runtime cannot track the accesses
inside precompiled code or roll back I/O operations,
calling into such code inside a transaction causes the runtime
to serialize execution of the transaction with respect to
other transactions – no other transactions are allowed to be
in-flight concurrently with the serial one. Section 4 describes
the details of this serial execution mode.
Abort statements
The tm abort statement (a user abort) allows the programmer
to roll back an atomic block explicitly. This statement
must appear in the lexical scope of an atomic block.
It rolls back all side effects of the atomic block that statically
encloses it and transfers control to the statement immediately
following the block. It ends the transaction if the
enclosing atomic block is the outermost atomic block.
Because the runtime cannot log the side effects of precompiled
functions, the tm abort statement can execute
only if the innermost atomic block containing it has not
called a precompiled function (unless that function is a
tm pure function as described in Section 2.4.2). A runtime
error will occur if an atomic block executes a user abort after
it has called a precompiled function:
__tm_atomic {
print(‘‘HelloWorld!’’);
__tm_abort; // error (runtime failure)
}
This does not preclude calling a precompiled function in
an atomic block that is at an outer dynamic nesting level
relative to the block containing the abort statement:
__tm_atomic {
print(‘‘HelloWorld!’’);
__tm_atomic {
__tm_abort; // OK
}
}
Nested atomic blocks have closed nesting semantics [37],
which means that the side effects of a nested transaction
commit become visible only when the dynamically outermost
transaction commits. Abort statements allow a programmer
to roll back a transaction partially by aborting the
innermost nested atomic block. The compiler and runtime,
therefore, may not flatten those nested atomic blocks that
contain user abort statements.
Single lock semantics
Atomic blocks provide single lock atomicity (SLA) semantics
[34]: A program behaves as if a single global lock guards
each atomic block. This guarantees that programs that are
race free under a single global lock will execute correctly
under transactional execution. These semantics support the
privatization and race free publication patterns [34]. A trivial
implementation of atomic blocks can use a single global
lock to implement isolation (though such an implementation
must still perform undo logging to support abort statements).
In fact the serial execution mode (which supports calling precompiled
binaries) falls back to using a single global lock to
implement atomic blocks.
Consistent with the emerging C/C++ memory model
specification [8], SLA semantics provides no guarantees for
programs containing data races. In the presence of data races
between transactions and non-transactional code, code executing
outside a transaction may see speculative or intermediate
values produced by a transaction, and it may violate
the isolation of a transaction by writing to memory locations
accessed inside a transaction.
To support SLA semantics correctly, the STM implementation
must guarantee several important safety properties,
namely privatization safety, granular safety, and observable
consistency[34]. These safety properties ensure that code
that is race free under a single global lock remains race free
under transactional execution; that is, they ensure that the
STM implementation does not introduce a data race into a
program that is otherwise race free under a single lock. Most
prior STM systems did not properly maintain these properties
and thus cannot be used to implement single global lock
semantics for C/C++ atomic blocks.
Subscribe to:
Posts (Atom)