⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logorg.modspec

📁 目前最精确的磁盘模拟器的第3版
💻 MODSPEC
字号:
# DiskSim Storage Subsystem Simulation Environment (Version 3.0)# Revision Authors: John Bucy, Greg Ganger# Contributors: John Griffin, Jiri Schindler, Steve Schlosser## Copyright (c) of Carnegie Mellon University, 2001, 2002, 2003.## This software is being provided by the copyright holders under the# following license. By obtaining, using and/or copying this software,# you agree that you have read, understood, and will comply with the# following terms and conditions:## Permission to reproduce, use, and prepare derivative works of this# software is granted provided the copyright and "No Warranty" statements# are included with all reproductions and derivative works and associated# documentation. This software may also be redistributed without charge# provided that the copyright and "No Warranty" statements are included# in all redistributions.## NO WARRANTY. THIS SOFTWARE IS FURNISHED ON AN "AS IS" BASIS.# CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER# EXPRESSED OR IMPLIED AS TO THE MATTER INCLUDING, BUT NOT LIMITED# TO: WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY# OF RESULTS OR RESULTS OBTAINED FROM USE OF THIS SOFTWARE. CARNEGIE# MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT# TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.# COPYRIGHT HOLDERS WILL BEAR NO LIABILITY FOR ANY USE OF THIS SOFTWARE# OR DOCUMENTATION.MODULE logorgPROTO struct logorg *disksim_logorg_loadparams(struct lp_block *b);PARAM Addressing mode			S	1 TEST !logorg_addr(result, s)This specifies how the logical data organization is addressed.  \texttt{Array} indicates that there is a single logical device number forthe entire logical organization.\texttt{Parts} indicates that back-end storage devices are addressed asthough there were no logical organization, and requests are re-mappedappropriately.PARAM Distribution scheme		S	1 TEST !logorg_distn(result, s)This specifies the data distribution scheme (which is orthogonal tothe redundancy scheme).\texttt{Asis} indicates that no re-mapping occurs.\texttt{Striped} indicates that data are striped over the organizationmembers.\texttt{Random} indicates that a random disk is selected for each request.N.B.: This is only to be used with constant access-time disksfor load-balancing experiments.  \texttt{Ideal} indicates that an idealized data distribution (from a loadbalancing perspective) should be simulated by assigning requests todisks in a round-robin fashion.  Note that the last two schemes do notmodel real data layouts.  In particular, two requests to the sameblock will often be sent to different devices.  However, these datadistribution schemes are useful for investigating various loadbalancing techniques \cite{Ganger93a}.N.B.: This is only to be used with constant access-time disksfor load-balancing experiments.PARAM Redundancy scheme			S	1 TEST !logorg_redun(result, s)This specifies the redundancy scheme (which is orthogonal to the datadistribution scheme).  \texttt{Noredun} indicates that no redundancy is employed.\texttt{Shadowed} indicates that one or more replicas of each data disk aremaintained.\texttt{Parity\_disk} indicates that one parity disk is maintained toprotect the data of the other organization members.\texttt{Parity\_rotated} indicates that one disk's worth of data (spreadout across all disks) are dedicated to holding parity information thatprotects the other N-1 disks' worth of data in an N-disk organization.%``Parity\_declustered'' indicates that a complex parity-based scheme%such as parity declustering \cite{Holland92} is used to protect the%organization's data.  The last option is not supported in the first%release of DiskSim.PARAM Components			S	0# ignore whole/partial for now since not implemented elsewhereThis specifies whether the data organization's component members are entiredisks (\texttt{Whole}) or partial disks (\texttt{Partial}).  Only the formeroption is supported in the first released version of DiskSim.PARAM devices				LIST	1TEST !getlogorgdevs(result,l)List of device names to be included in this logical organization.PARAM Stripe unit			I	1 TEST i > 0INIT result->stripeunit = i;This specifies the stripe unit size.  0~indicates fine-grained striping(e.g.,~bit or byte striping), wherein all data disks in the logicalorganization contain an equal fraction of every addressable data unit.PARAM Synch writes for safety		I	1 TEST RANGE(i,0,1)INIT result->writesync = i;This specifies whether or not an explicit effort should be made to do theN+1 writes of a parity-protected logical organization at ``the sametime'' when handling a front-end write request with theread-modify-write (RMW) approach to parity computation.If true~(1), then all reading of old values (for computing updatedparity values) must be completed before the set of back-end writes is issued.If false~(0), then each back-end write is issued immediately after thecorresponding read completes (perhaps offering improved performance).PARAM Number of copies			I	1 TEST i > 0 INIT result->copies = i;This specifies the number of copies of each data disk if the logicalorganization employs \texttt{Shadowed} redundancy.  Otherwise, thisparameter is ignored.PARAM Copy choice on read		I	1 TEST RANGE(i,1,6)INIT result->copychoice = i;This specifies the policy used for selecting which disk from a set of\texttt{Shadowed} replicas should service a given read request since anyof them can potentially do so.1~indicates that all read requests are sent to a single primaryreplica.2~indicates that one of the replicas should be randomly selected foreach read request.3~indicates that requests should be assigned to replicas in around-robin fashion.4~indicates that the replica that would incur the shortest seekdistance should be selected and ties are broken by random selection.5~indicates that the replica that has the shortest request queueshould be selected and ties are broken by random selection.6~indicates that the replica that has the shortest request queueshould be selected and ties are broken by policy~4 (see above).  Thisparameter is ignored if \texttt{Shadowed} replication is not chosen.PARAM RMW vs. reconstruct		D	1 TEST RANGE(d,0.0,1.0)INIT rmwpoint = d;This specifies the breakpoint in selecting Read-Modify-Write (RMW) parityupdates (verses complete reconstruction) as the fraction of data disksthat are updated.  If the number of disks updated by the front-endwrite request is smaller than the breakpoint, then the RMW of the``old'' data, ``old'' parity, and ``new'' data is used to compute thenew parity.  Otherwise, the unmodified data in the affected stripe areread from the corresponding data disks and combined with the new datato calculate the new parity.  This parameter is ignored unless someform of parity-based replication is chosen.PARAM Parity stripe unit		I	1 TEST i > 0INIT result->parityunit = i;This specifies the stripe unit size used for the \texttt{Parity\_rotated}redundancy scheme.  This parameter is ignored for other schemes.  Theparity stripe unit size does not have to be equal to the stripe unitsize, but one must be a multiple of the other.  Use of non-equalstripe unit sizes for data and parity has not been thoroughly testedin the current release of DiskSim.PARAM Parity rotation type		I	1 TEST RANGE(i,1,4)INIT result->rottype = i;This specifies how parity is rotatedamong the disks of the logical organization.  The four options, asdescribed in \cite{Lee91}, are 1 - left symmetric,2 - left asymmetric,3 - right asymmetric, 4 - right symmetric.This parameter is ignored unless \texttt{Parity\_rotated} redundancy ischosen.PARAM Time stamp interval		D	1 TEST d >= 0.0INIT result->stampstart = d;This specifies the interval between ``time stamps.''  A value of $0.0$ forthis parameter disables the time stamp mechanism.PARAM Time stamp start time		D	1 TEST d >= 0.0INIT result->stampstart = d;This specifies the simulated time (relative to the beginning of thesimulation) of the first time stamp.PARAM Time stamp stop time		D	1 TEST d >= 0.0INIT result->stampstop = d;This specifies the simulated time (relative to the beginning of thesimulation) of the last time stamp.PARAM Time stamp file name		S	1 TEST (result->stampfile = fopen(s, "w"))This specifies the name of the output file to contain a log of theinstantaneous queue lengths of each of the organization's back-enddevices at each time stamp.  Each line of the output file correspondsto a single time stamp and contains the queue lengths of each deviceseparated by white space.  A value of ``0'' or of ``null'' disablesthis feature (as does disabling the time stamp mechanism).

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -