EXT4's barrier option & JBD & safe cache

当ext4底下的块设备的易失缓存没有掉电保护时, 开启barrier=1的话, 可以确保jbd操作的安全性, 即EXT4文件系统的日志安全, 也就是说当异常DOWN机, 并且我们使用了没有掉电保护的块设备缓存时, 还能恢复到一致性状态.
jbd + barrier=1 + 没用掉电保护的块设备缓存 = 安全. (如果你发现dmesg日志中出现disable barrier的情况, 可能是IO stack不支持barrier, 那么如果启用没有掉电保护的块设备缓存就不安全了)
还有一种情况是块设备缓存有掉电保护模块(电池), 那么可以关闭barrier, 来获得更好的性能.
       barrier=0 / barrier=1 / barrier / nobarrier
              This enables/disables the use of write barriers in the jbd code.  barrier=0 disables, barrier=1 enables.
              This also requires an IO stack which can support barriers, and if jbd gets an error on a barrier  write,
              it  will  disable  again with a warning.  Write barriers enforce proper on-disk ordering of journal com-
              mits, making volatile disk write caches safe to use, at some performance penalty.   If  your  disks  are
              battery-backed  in  one  way  or  another, disabling barriers may safely improve performance.  The mount
              options "barrier" and "nobarrier" can also be used to enable or disable barriers, for  consistency  with
              other ext4 mount options.

              The ext4 filesystem enables write barriers by default.


[参考]
1. man mount
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
To price a barrier option on FX rate by Monte Carlo simulation, you can follow these steps: 1. Define the basic parameters of the barrier option, including the spot FX rate, strike price, option expiration date, barrier level, barrier type (up/down), barrier monitoring frequency, volatility, and risk-free rate. Store these parameters in variables. 2. Generate the simulated FX rate paths. Use a random number generator (such as the normal distribution) to generate a set of random shocks to the FX rate at each time step. Use these random shocks to simulate a set of possible FX rate paths for the option's life. Store these paths in a matrix. 3. Determine if the barrier has been breached for each simulated path. At each monitoring frequency, check if the FX rate has crossed the barrier level. If it has, take note of the time and location of the first breach. 4. Calculate the payoff for each simulated path. If the FX rate breached the barrier before the option expiration, the option expires worthless. If the FX rate did not breach the barrier before the option expiration, the option payoff is the maximum of 0 and the difference between the FX rate and the strike price. 5. Discount the payoff to the present value. Use the risk-free rate and the option's time to expiration to calculate the discount factor and present value for each simulated path. 6. Calculate the option price. Take the average of all the present values calculated in step 5 to get the option price. Here's an example of how to implement these steps in Python: ```python import numpy as np # Define basic parameters S0 = 1.2 # Spot FX rate K = 1.3 # Strike price T = 1 # Time to expiration B = 1.1 # Barrier level barrier_type = 'up' # Barrier type monitoring_freq = 10 # Barrier monitoring frequency sigma = 0.2 # Volatility r = 0.05 # Risk-free rate N = 10000 # Number of simulations dt = 1/252 # Time step # Generate the simulated FX rate paths ST = np.zeros((N, monitoring_freq+1)) ST[:,0] = S0 for i in range(N): for j in range(1, monitoring_freq+1): ST[i,j] = ST[i,j-1] * np.exp((r-sigma**2/2)*dt + sigma*np.sqrt(dt)*np.random.normal()) # Determine if the barrier has been breached for each simulated path breached = np.zeros(N, dtype=bool) time_to_breach = np.zeros(N) for i in range(N): for j in range(1, monitoring_freq+1): if barrier_type == 'up': if ST[i,j] > B: breached[i] = True time_to_breach[i] = j break else: if ST[i,j] < B: breached[i] = True time_to_breach[i] = j break # Calculate the payoff for each simulated path payoff = np.zeros(N) for i in range(N): if breached[i]: payoff[i] = 0 else: payoff[i] = max(0, ST[i,-1] - K) # Discount the payoff to the present value df = np.exp(-r*T) pv = payoff * df # Calculate the option price price = np.mean(pv) ``` This code generates random FX rate shocks at each time step to simulate possible FX rate paths for the option's life. It then checks if the barrier is breached for each path and calculates the payoff for each path. Finally, it discounts the payoff to the present value and calculates the option price as the average present value across all paths. Note that this is a simplified example and more advanced techniques may be required to get accurate option prices.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值